| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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();
- 编译期 看 父类,运行期看子类
- 编译期看左边,运行期看右边
- 详细的来说:
- 成员变量:
- 编译期看父类,运行期看父类
- 成员方法:
- 编译期看父类,运行期看子类
- 多态的好处:
- 提高
- */
- }
|