class A {
public void show() {
show2();
}
public void show2() {
System.out.println("我");
}
}
class B extends A {
public void show() {
show2();
}
public void show2() {
System.out.println("爱");
}
}
class C extends B {
public void show() {
super.show();
}
public void show2() {
System.out.println("你");
}
}
public class Test2DuoTai {
public static void main(String[] args) {
B b = new C();
b.show();
}
}
疑问:编译看父类,是没有问题的,而编译的时候有些不太理解,b.show() 访问c类中的show()方法,里面有个super.show()方法,那么会访问父类中的show()方法,而父类中的show()中又有show2()方法,我一直理解的是show2()方法会执行父类中的show2()方法,但是实际上是访问了子类中的show2()方法,有没有哪位帮忙解决一下,谢谢 |
|