java中的接口定义的成员变量必须用public static final修饰,final可以理解,但是static怎样理解呢?

解决方案 »

  1.   

    我是这么理解的,interface是抽象的,不能被实例化,他的成员变量属于类,所以用static声明。如果不用static声明,则表示成员变量属于对象。ok,回到原点,interface不能创建对象,那定义对象成员有意义吗?我也是个菜鸟,如有理解错的地方,请高人指点。
      

  2.   

    思路是楼上这样的。
    在Java中,通常只有常量属性被用来直接访问,非常量的属性均通过set/get方法去访问。
    常量属性的定义就是采用public static final
    public是因为它被直接访问
    static是为了可以通过类名去访问,不必为此创建对象
    final则是常量修饰符非常量是通过set/get方法来访问的,假如这个接口要求实现此接口的对象一定要有一个int类型的名为a的属性,那只需要定义setA(int a)和getA()就可以了。
      

  3.   

    接口就是抽象类演化而来的,而抽象类定义的变量就是static final类型的,就是这么规定的,一般都不会写这个,默认就自动加上的
      

  4.   

    通过set/get方法来访问的,假如这个接口要求实现此接口的对象一定要有一个int类型的名为a的属性,那只需要定义setA(int a)和getA()就可以了。