首页 > 代码库 > 子类继承父类,重写父类方法,运用多态时调用重写的方法时调用子类的还是调用父类的?

子类继承父类,重写父类方法,运用多态时调用重写的方法时调用子类的还是调用父类的?

package 第五天;

public class Person {
	
	public void say()
	{
		System.out.println("我是Person的say方法");
	}
}

子类Student如下:

package 第五天;

public class Student extends Person{
	//重写了父类的say()方法
	@Override
	public void say()
	{
		System.out.println("我是Student的say方法");
	}
	public static void main(String[] args) {
		Student stu=new Student();
		stu.say();//我是Student的say方法
		Person p=new Student();//多态
		p.say();//我是Student的say方法
	}

}
上面的p.say(),可以理解为如果子类由say()方法就调用子类的,如果子类没有say()方法,那么就再去调用父类的say()方法.

继承的目的是为了扩展(意思是父类的功能不强大,我们可以来扩展父类),也从而实现了代码的复用。

                                                                             Student extends Person

派生类  扩展       基类------------->>国外的叫法

子类      继承       父类              -->>国内的叫法



子类继承父类,重写父类方法,运用多态时调用重写的方法时调用子类的还是调用父类的?