- A:多态(polymorphic)概述
- 事物存在的多种形态
- B:多态前提
- a:要有继承关系。
- b:要有方法重写。
- c:要有父类引用指向子类对象。
多态中的成员访问特点
- 成员变量
- 编译看左边(父类),运行看左边(父类)。
- 成员方法
- 编译看左边(父类),运行看右边(子类)。
- 静态方法
- 编译看左边(父类),运行看左边(父类)。
- (静态和类相关,算不上重写,所以,访问还是左边的)
- 只有非静态的成员方法,编译看左边,运行看右边
多态中向上转型和向下转型
父类:person
子类:student
Person p = new student();向上转型
student st = (student)p;向下转型
多态的好处和弊端
A:多态的好处
- a:提高了代码的维护性(继承保证)
- b:提高了代码的扩展性(由多态保证)
B:多态的弊端
- 不能使用子类的特有属性和行为。