唉,真是这样的啊。
记得从前学 Delphi 时,讲到接口支持属性。对了,好象C++也支持的
java的接口中也能声明字段,怎么就不支持属性呢?晕
记得从前学 Delphi 时,讲到接口支持属性。对了,好象C++也支持的
java的接口中也能声明字段,怎么就不支持属性呢?晕
解决方案 »
- 读取properties文件出错,请指教一二
- Java 参数传递问题
- JNA返回值问题 求解
- Eclipse调试时,为什么断下来后就无法继续执行?
- webwork帮助
- 路过的大侠们帮帮忙,如何改变默认的JRE?
- 请教一个跟DatabaseMetaData有关的问题?
- 高手帮忙解决一下吧,好郁闷
- 请问java怎么实现http,ftp文件下载,原理是什么???
- 关于数字相加的问题(100.11f+200.22f=300.33002)?
- 提示Please specify a main Java File first,(请首先确认一个主Java文件),请问如何解决!
- 大家好,请问谁知道在JMenuItem中怎么用<Insert>这键盘键做为快捷键?
delphi的属性有很多优点,这点比java要好。
delphi中的接口的确可以有属性,不过只能是方法的属性,
其实此时和java是一样的。
也就是说,java中的接口不能声明属性,
delphi中也不行。
再说了,此时也没必要一定要用抽象类,
用接口就很好,因为接口比抽象类的复用性好。
比如说想要定义一个名字叫xxx的int型属性,
但是它和一个变量ixxx关联,
在接口中不能使用变量,
你就直接只需要直接声明一个getxxx方法,
然后把ixxx变量放在定义这个接口的类里面,
我这样不知道说清楚了没有。
在接口中不能定义 private 型的字段。这个XXX的属性字段也只好放在实现接口的字段里了。我也看了关于使用接口还是抽象类的文章。你可以再谈谈么?有什么情况下非得要用接口,什么情况下非得要用抽象类的呢?谢谢
to mor(天蓝,天蓝) :你说的属性是指public final static 型的字段吧?
java的属性是用 getXXX setXXX 方法实现的,接口时不能声明私有字段,哪来的属性?
定义的常量默认是static和final
也只能是static final
接口中定义的数据虽然是final和static的,但是这正是接口的属性啊,因为它们都是属于整个接口的,而不是属于某一个实现该接口的对象的,当然是接口的属性啦!
你想在接口中定义私有成员当然不行啦,而且从意义上理解,那也不是接口的属性啊!呵呵!
属性要能定义getXXX setXXX方法和字段。呵