为什么接口不允许定义一般的成员变量?

来源:百度知道 编辑:UC知道 时间:2024/07/12 16:29:09
为什么接口不允许定义一般的成员变量?而且域必须是静态的或拥有final控制符呢?问题补充:接口中的成员不是要在用的时候都实现一遍吗?那为什么还要提前定义它呢? 在用到这些属性时直接实现它们不就行了吗?干吗还多此一举啊?好像定义接口是提前做了个多余的工作(但肯定不是这样的,只是我这样理解的啊),
请赐教啊!

1、为什么接口不允许定义一般的成员变量?
答:看你的第三个问题。你定义了一般成员,也意味着你要在每个实现类里面都有一份。
2、域必须是静态的或拥有final控制符
答:这个不清楚。
3、接口中的成员不是要在用的时候都实现一遍吗?
答:是。
4、那为什么还要提前定义它呢? 在用到这些属性时直接实现它们不就行了吗?干吗还多此一举啊?好像定义接口是提前做了个多余的工作?
答:这些多余的工作是有用处的。看你自己的这个问题“一个关于接口的疑问”,在复杂项目中提前做好这些工作,有助于编程,更有助于后期的维护、扩展,以及程序的通用性。

4、那为什么还要提前定义它呢? 在用到这些属性时直接实现它们不就行了吗?干吗还多此一举啊?好像定义接口是提前做了个多余的工作?
在用到时直接实现,那就不叫接口了,顶都就是你自己定义的方法..之所以提前定义,而且声明类型,如final.你的多个类就可以去实现这个接口,类似C中多继承.而且在面象接口编程中,不先定义,谈什么面象接口.

问题太多了,你看下面向对象方面的书就好了啊。什么多态啊,继承啊...