package course.polymorphism; /** * @author WanJl * @version 1.0 * @title Demo01 * @description 多态 * @create 2026/7/24 */ public class Demo01 { /* 多态:面线对象三大特征之一(封装、继承、多态) 什么是多态? 同一个对象,在不同的时刻表现出来的不同形态。 比如: 有一位学生叫张三,他是一个【学生类型】的对象 那么由于Student类 extends Person 类 所以,我们可以认定 张三 对象,具有两种形态 : Student 和 Person 如果 Person extends Animal 那么张三对象 就有三种形态:Student 和 Person 和 Animal 也就是说, 张三这个对象,既属于Student类型 也属于 Person类型 和 Animal类型 多态的前提: 1、要有继承或实现关系 2、要有方法的重写 3、要父类的引用指向子类的对象 父类的引用(就是父类类型的引用变量) Person p; 指向(就是等号) = 子类的对象(就是创建子类的对象) new Student(); Person p=new Student(); 编译期 看 父类,运行期看子类 编译期看左边,运行期看右边 详细的来说: 成员变量: 编译期看父类,运行期看父类 成员方法: 编译期看父类,运行期看子类 多态的好处: 提高 */ }