不是很理解.

解决方案 »

  1.   

    谁说接口中的变量必须是static,final??
      

  2.   

    楼主这个问题我写了我blog里了你看看
    http://www.blogjava.net/elementkaka/archive/2008/08/10/221129.html
      

  3.   

    为什么要设计为这样,是因为interface是个规范,所有实现这个接口的类具体相同的特性,
    而且必须具体,保证再2个实现类都是一份相同的拷贝,所以用了static final,还有更深层次是为了防止多继承,这个是c++不好的地方,可以看看编译原理对这个的解释!
      

  4.   

    自动是static ,final的
    以前没有枚举用来做枚举的,现在没什么用了
      

  5.   

    搞笑,接口是为了防止多继承?复制也不是这么复制的吧不是接口 是 定义为static final  你语文学的怎么样?没看懂我的话???
      

  6.   

    更搞笑了,static final就可以防止多继承了?
    这是变量,不是方法
    static final的含义是属于接口和实现类本身,只加载一次,而且不可变,只是以前用来当常量和枚举用的,根继承有什么关系
      

  7.   

    接口和抽象类的区别 
    1.接口更高层次的抽象。 2.接口只是功能定义,不包含功能的实现。3.一个类可以继承1个抽象类,可以实现多接口。4.接口中的成员变量是public static final,抽象类默认为friendly(防止多继承)。 这是你发的那个网页里面的内容,Google出来的吧,也没看后面写了个抽象类,你就直接复制过来了
      

  8.   

    楼主,我自己的blog,要证明嘛???
      

  9.   

    呵呵,就算博客是你的,抽象类变量为friendly和防止多继承有什么关系,
    不是friendy你就能多继承抽象类了?
      

  10.   

    回到原题上吧,接口中的变量必须是static,final,这是肯定的,即使你不显示声明,实际上也是这样编译的。
      

  11.   

    static变量是类变量,不属于某个具体的对象,
    接口是一系列抽象方法的集合,无法实例化,所以必须是static类型;
    接口功能的实现必须依赖实现接口的类,一个类可以实现多个接口,而一个接口又可以被多个类实现,
    为了避免出现c++中多重继承基类中相同成员域的处理问题,java中就把接口中的成员域定义为static final类型。
      

  12.   

    我觉得interface的作用就是明确实现它的类应该具有的功能和具有的变值。
    如果不设为public static final,也就失去了这个作用。
    你在编写interface时可以不写public static final,但编译器会自动给你加上去的。
      

  13.   

    抽象类默认为friendly(防止多继承)。 
    这个是对吗   我没理解出这个意思哦... 所以不清楚   我就知道类只能单继承 
    而且抽象类不能用final来修饰,即一个类不能既是最终类又是抽象类。