package package1;
public class MyClassA {
protected int size;
public MyClassA() {
}
protected int getAge() {
return 10;
}
public int callAge() {
return getAge();
}
}
package package2;
import package1.MyClassA;
public class MyClassB extends MyClassA {
protected int getAge() {
return 20;
}
private int superesult() {
return super.callAge();
}
public static void main(String args[]) {
MyClassB classb = new MyClassB();
System.out.println(classb.getAge());
System.out.println(classb.superesult());
}
}
当我调用getAge和superresult方法时,我期望输出为20 10,但代码打印的是20 20。提前感谢。
getAge
被覆盖了。 - Oliver Charlesworthsuper
调用某些东西,你会在“上级域”中改变上下文,也就是说所有的调用现在都在“超级域”中。 - Willem Van Onsem