为什么 接口的属性默认值要public static final?

解决方案 »

  1.   

    因为接口是不能直接实例化
    To the point!
    借口可以被继承的,比如接口继承接口! 这句话我记住了
      

  2.   

    这个为什么问的
    实例化的问题.因为接口不能被实例,如果不是static就不可能有这样的属性被实例,不是final...要是多个类实现同一接口...那不给改的他妈妈都不认识他了....
      

  3.   

    首先更正错误:
    public static final? 
    接口中的方法 默认不是 static  的。 是 abstract 
    至于为什么。
    一般想这种问题 用反向思维就可以了。
    假设 : 接口中的方法不是 public 的 是 private  他自己都访问不了根本没有意义。
           就 假设 默认的  而他的实现类 也是默认的。那么这个接口跨包就不能被访问了。就失去了
         接口作为一种通用的提供对客户端程序透明实现的本意。 
        好有好多就不写了你还发个100分的贴我就写 呵呵!!!!
      

  4.   

    一个class可以实现多个interface,实现interface就要实现其里面的方法。定义成public static final是为了在其他class里调用某个属性值啊,public 是权限 static 不写也行默认就是static final是常量啊,class里也可以定义常量啊
      

  5.   

    是public的是因为是为了保证无论任何包下的其他类实现这个接口都能访问它的变量,是static的和final的是因为借口存在的意义在于它是处于抽象层次,是对于具体的不同的实例所存在的共同属性的一个抽象,也就是说任何的可以实现接口的类必须保证他们的某个共同的属性,这样才能够将这个属性抽象出来放在接口中,所以这个属性不应该单一属于任何一个实现类,而任何一个实现类拥有的该属性也应该是相同的,所以应该是static和final的。
      

  6.   


    是public的是因为是为了保证无论任何包下的其他类实现这个接口都能访问它的变量,是static的和final的是因为借口存在的意义在于它是处于抽象层次,是对于具体的不同的实例所存在的共同属性的一个抽象,也就是说任何的可以实现接口的类必须保证他们的某个共同的属性,这样才能够将这个属性抽象出来放在接口中,所以这个属性不应该单一属于任何一个实现类,而任何一个实现类拥有的该属性也应该是相同的,所以应该是static和final的。学习了,深刻!