看程序写结果06(继承)
继承可参考
博客名称 | 链接地址 |
---|---|
day08Java-继承 | https://blog.csdn.net/qq_40332952/article/details/104695745 |
多态的成员访问特点:
方法:编译看左边,运行看右边。
继承的时候:
子类中有和父类中一样的方法,叫重写。
子类中没有父亲中出现过的方法,方法就被继承过来了。
代码
class A {
public void show() {
show2();
}
public void show2() {
System.out.println("我");
}
}
class B extends A {
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();
}
}
结果:
结果分析
A a = new B();
a.show();
a.show() 调用的是B从A继承过来的,方法里面调用show2() ,(从A继承过来的show()方法是实实在在存在的)调用就是B中的show2()方法。
控制台打印:爱
B b = new C();
b.show();
b.show()调用的是C独有的show()方法,方法里调用super.show(),说明调用的B继承的show()方法,又因为super.show()在C里面执行的肯定是在C里面找show2()方法,找到了。
控制台打印:你
爱
你