java 接口中为何要定义成员变量?有什么作用呢?

13年前
1.接口必须要具体类实现才有意义,所以必须是public  2. 接口中的数据对所有实现类只有一份,所以是static  3.要使实现类为了向上转型成功,所以必须是final的.这个举例子很好理解.比如接口A,A有变量value.实现类A1,A2,可以向上转型.假如代码中有一句:     A a=null;       a=....(2)实际实现类     System.out.println(a.value);          利用向上转型,可以得到接口a的值,在第2步中,我不关你是实现类A1,还是new A2(),通过转型,我们可以得到正确的值.要是类中可以更改,我们得不到一个统一的值,接口也没有了意义