继承与多态课后

1.为什么子类的构造方法在运行之前,必须调用父类的构造方法,能不能发过来,为什么不能调过来?

在子类的构造方法之前必须调用父类的构造方法,是不能发过来的,因为构造方法就是累的成员变量进行初始化的作用,所以在子类调用之前要进行初始化,否则就会出错,而且也不可以发过来。

2.方法覆盖

在子类中,若调用父类中被覆盖的方法,可以是用super关键字

代码:

//在子类中,若调用父类中被覆盖的方法,可以是用super关键字
package jxlPacakge;
class father
{
	void halou()
	{
		System.out.println("father halou");
	}
	
}
class son extends father
{
	
	void halou()
	{
		super.halou();
		//调用父类中的方法
		System.out.println("son halou");
	}
}
public class cover {
	public static void main(String args[])
	{
		
		son so=new son();
		so.halou();
		
	}

}

  完成之后显示的结果为:

3.类型转换

 

 首先我判断的结果为:

第二句,第四句会引起错误

分析:

下面的猫狗类都是继承上面的动物类,在这里父类可以通过子类进行赋值,但是子类不可以直接通过父类进行赋值,但是需要强制转化之后就可以,所以结果显示第二第四是错误的

 

原文地址:https://www.cnblogs.com/zhaochunhui/p/7810029.html