package com.neal.day1003;
/**
- 1.理解多态性:可以理解为一个事物的多种形态。
- 2.何为多态性:
- 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)
- 3.多态的使用:虚拟方法调用
- 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际
- 执行的是子类重写的父类的方法。
- 总结:编译,看左边。运行,看右边
- 4.多态性的使用前提: ① 类的继承关系 ② 方法的重写
- 5.对象的多态性,只适用于方法,不适用于属性
- 虚拟方法调用:动态绑定
- 从编译和运行的角度看:方法的重载和重写
- 重载,是指运行存在多个同名方法,而这些方法的参数不同。编译器根据方法不同的参数表,对同名
- 方法的名称做修饰。对于编译器而言,这些同名方法就成了不同的方法。它们调用的地址在编译期就绑定
- 了。Java的重载是可以包括父类和子类的,即子类可以重载父类的同名不同参数的方法。
- 所以:对于重载而言,在方法调用之前,编译器就已经确定了所要调用的方法,这称为“早绑定”或“静态
- 绑定”;
- 而对于多态,只有等到方法调用的那一刻,编译器才会确定所要调用的具体方法,这称为“晚绑定”或“动态
- 绑定”
*/
public class PersonTest {
}