Java面试题-看程序写结果06(继承)

看程序写结果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()方法,找到了。
控制台打印:你

爱
你
发布了186 篇原创文章 · 获赞 0 · 访问量 4121

猜你喜欢

转载自blog.csdn.net/qq_40332952/article/details/104718790
今日推荐