首先是父类和接口重名的量的调用
public class Test {
public static void main(String[] args) {
C c=new C();
c.printX();
}
}
interface A{
int x=0;
}
class B{
int x=1;
}
class C extends B implements A{
public void printX() {
//调用父类中的x
System.out.println(super.x);
//调用接口中x
System.out.println(A.x);
}
}
接着是父类和父类的父类重名变量的调用
class B{
int x=1;
}
class D extends B{
int x=2;
int getSuperX() {
return super.x;
}
}
class C extends D{
public void printX() {
//调用父类中的x
System.out.println(super.x);
//调用父类的父类中x
System.out.println(super.getSuperX());
}
}