Demo01.java 1.6 KB

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