有一种情况,当我们需要调用父类的父类的某个方法,直接super.super好像挺合理。
public class A{
public void method(){}
}
public class B extends A{
@Override
public void method(){
System.out.print("B");
}
}
public class B extends A{
@Override
public void method(){
super.super.method();
}
}
出现错误了,因为super是对象的私有成员(private),所以子类不能使用父类的super。
只能用另一种方法实现:
public class A{
public void method(){}
}
public class B extends A{
@Override
public void method(){
System.out.print("B");
}
//重新写一个方法
public void superMethod(){
super.method();
}
}
public class B extends A{
@Override
public void method(){
//调用父类的父类的method方法
super.superMethod();
}
}
网友评论