本帖最后由 panzhenglian 于 2013-12-21 19:56 编辑
C.class这个类在继承了B类的同时,又实现了A接口, 而A接口和B类中有相同的成员变量都被继承下来,等于C.class这个类中同时出现了两个变量,所以会报错,在变量前面加上类名就可以了
要注意的是,A接口的成员变量默认是静态的,可以通过类名调用, 而B只能创建对象或者匿名对象来调用
- interface A{
- int x = 0;
- }
- class B{
- int x =1;
- }
- class C extends B implements A {
- public void getX(){
- System.out.println(A.x);
- System.out.println(new B().x);
- }
- public static void main(String[] args) {
- new C().getX();
- }
- }
复制代码
|