直接上代码:
b中没有show2()方法则默认就继承过来
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 DuoTaiTest4 {
public static void main(String[] args) {
A a = new B();
a.show(); //我
B b = new C();
b.show(); //你
}
}
b中有show2()方法则覆盖
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 DuoTaiTest4 {
public static void main(String[] args) {
A a = new B();
a.show(); //爱
B b = new C();
b.show(); //你
}
}