本帖最后由 王进亮 于 2012-12-23 20:56 编辑
interface A {
int x = 0;
}
class B {
int x = 1;
}
public class C extends B implements A {
public void pX() {
System.out.println(super.x);//当本类没有此变量时,它会往上一级查找,你要指定,打印的是哪一个x。不指定的话,会有冲突。
System.out.println(A.x);
}
public static void main(String[] args) {
new C().pX();
}
}
因为接口里面的常量,可以通过类名即A.x调用,父类的调用要用super
如果实现的父类和接口中的变量没有冲突时可以
interface A {
int w = 0;
}
class B {
int x = 1;
}
public class C extends B implements A {
public void pX() {
System.out.println(x);
System.out.println(w);
}
public static void main(String[] args) {
new C().pX();
}
}
|