一,概念
多态:同一个引用类型,使用不同的实例而执行不同操作
使用父类作为方法的形参,是Java中实现和使用多态的主要方式之一。
二,实现多态的三个要素
(1)继承关系
(2)子类重写父类方法
(3)父类的引用指向子类的对象
三,多态优点
1. 消除类型之间的耦合关系
2. 可替换性
3. 可扩充性
4. 接口性
5. 灵活性
6. 简化性
四,子类到父类的转换(向上转型)
语法:
向上转型语法: <父类型> <引用变量名> = new <子类型>();
Pet pet = new Dog;
向上转型:将父类的引用指向子类对象,称为向上转型,自动进行类型转换
转换时的规则:
此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
此时通过父类引用变量无法调用子类特有的方法
五,子类到父类的转换(向下转型)
语法:Penguin png = (Penguin) pet;
必须转换为父类指向的真实子类类型
向下转型:将一个指向子类对象的父类引用赋值给一个子类的引用,称为向下转型,此时必须进行强制类型转换。向下转型可能会出现类型转换异常ClassCastException。
六,Instanceof运算符
1.语法: 对象名 instanceof 类或接口
2.使用经验:
(1)使用instanceof运算符时,对象的类型必须和instanceof的第二个参数所指定的类或接口在继承树上有上下级关系,否则会出现编译错误。
(2)instanceof通常和强制类型转换结合使用
七,总结: