面向对象之多态
一、多态的概述及前提
1,概述
多态即事物存在的多种形态
2,多态的前提
* 要有继承
* 要有方法重写
* 要有父类引用指向子类对象
二、多态的访问特点
1,多态中的成员访问特点之成员变量:编译看左边(父类),运行看左边(父类)
2,多态中的成员访问特点之成员方法:编译看左边(父类),运行看右边(子类)。
3,多态中的成员访问特点之静态成员方法:编译看左边(父类),运行看左边(父类)。
总结:只有非静态的成员方法,编译看左边,运行看右边
三、向上转型和向下转型
类似于:基本数据类型自动类型提升和强制类型转换
int i = 10;
byte b = 20;
//i = b; //自动类型提升
//b = (byte)i; //强制类型转换
父类 fu = new 子类(); // 向上转型
子类 zi =(子类) fu; //向下转型
四、多态的好处和弊端
好处:
* a:提高了代码的维护性(继承保证)
* b:提高了代码的扩展性(由多态保证)
弊端:
* 不能使用子类的特有属性和行为。