唉,真是这样的啊。
记得从前学 Delphi 时,讲到接口支持属性。对了,好象C++也支持的
java的接口中也能声明字段,怎么就不支持属性呢?晕

解决方案 »

  1.   

    接口可以有属性,不过会被默认为static和final的。
      

  2.   

    java中没有象delphi那样有专门的property关键字,
    delphi的属性有很多优点,这点比java要好。
    delphi中的接口的确可以有属性,不过只能是方法的属性,
    其实此时和java是一样的。
    也就是说,java中的接口不能声明属性,
    delphi中也不行。
    再说了,此时也没必要一定要用抽象类,
    用接口就很好,因为接口比抽象类的复用性好。
    比如说想要定义一个名字叫xxx的int型属性,
    但是它和一个变量ixxx关联,
    在接口中不能使用变量,
    你就直接只需要直接声明一个getxxx方法,
    然后把ixxx变量放在定义这个接口的类里面,
    我这样不知道说清楚了没有。
      

  3.   

    to Could(翻墙鹦鹉) :嗯。看来只能是这样了。
    在接口中不能定义 private 型的字段。这个XXX的属性字段也只好放在实现接口的字段里了。我也看了关于使用接口还是抽象类的文章。你可以再谈谈么?有什么情况下非得要用接口,什么情况下非得要用抽象类的呢?谢谢
    to mor(天蓝,天蓝) :你说的属性是指public final static 型的字段吧?
    java的属性是用 getXXX setXXX 方法实现的,接口时不能声明私有字段,哪来的属性?
      

  4.   

    用 getXXX setXXX 方法
      

  5.   

    JAVA接口里面可以定义常量。
    定义的常量默认是static和final
    也只能是static final
      

  6.   

    不对吧,接口当然是有属性的!楼主说的“属性”应该是指的对象的属性。
    接口中定义的数据虽然是final和static的,但是这正是接口的属性啊,因为它们都是属于整个接口的,而不是属于某一个实现该接口的对象的,当然是接口的属性啦!
    你想在接口中定义私有成员当然不行啦,而且从意义上理解,那也不是接口的属性啊!呵呵!
      

  7.   

    那是字段,不算属性
    属性要能定义getXXX setXXX方法和字段。呵