个人笔记,仅供参考
1、多态概述
面向对象三大特征之一,即多种形态,例如一个人可以有学生形态,但同时也有人类形态
2、格式与使用
代码当中体现多态性,其实就是一句话,父类引用指向子类对象
格式:
父类名称 对象名 = new 子类名称();
或者
接口名称 对象名 = new 实现类名称
3、成员变量使用特点
类似于在继承中
1、直接通过对象名称访问,等号左侧的
2、间接通过成员方法访问,看该方法属于谁,优先用谁
4、成员方法使用特点
也类似于继承
new的是谁就优先用谁,没有则向上找,
5、多态的好处
可以统一等号左边的调用方法
6、对象的向上转型
1、对象的向上转型,其实就是多态写法:
父类名称 对象名 = new 子类名称()
含义:右侧创建一个子类对象,把它当做父类来看待使用
注意:向上转型一定是安全的,从小范围转向大范围,但一旦向上转型,就无法使用子类特有的内容
7、对象的向下转型
向下转型其实是还原向上转型
格式:
子类名称 对象名 = (子类名称)父类对象;
含义:将父类对象还原成本来的子类对象
8、用instanceof关键字
格式:
对象 instanceof 类型;
//得到一个布尔值,也就是判断前面的对象能不能当做后面类型的实例