代码一
class Test2_Polymorphic {
public static void main(String[] args) {
A a = new B();
a.show();
}
}
class A {
public void show() {
System.out.println("222");
show2();
}
public void show3() {
System.out.println("333");
show2();
}
private void show2() { //这里改成private 程序输出 111 444 333 555 我 如果是public 就死循环了 111 444 333 444 333 ……一直循环 为什么? this.成员方法 调用本类的成员方法 如果没有,就调用父类的成员方法?这里的调用父类的成员方法包含私有方法吗?
System.out.println("555");
System.out.println("我");
}
}
class B extends A {
public void show() {
System.out.println("111");
show2();
}
public void show2() {
System.out.println("444");
super.show3();
}
}
代码二
class Test2_Polymorphic {
public static void main(String[] args) {
A a = new B();
a.show();
}
}
class A {
public void show() {
System.out.println("222");
show2();
}
public void show3() {
System.out.println("333");
show2();
}
public void show2() {
System.out.println("555");
System.out.println("我");
}
}
class B extends A {
public void show() {
System.out.println("111");
show2();
}
public void show2() {
System.out.println("444");
super.show3();
}
}
|
|