- 什么是多态
多态是具有表现多种形态的能力的特征,同一个实现接口,使用不同的实例而执行不同的操作
多态性与继承、方法重写密切相关
2.实现多态的方法
(1)子类到父类的转换(向上转型)
(2)使用父类作为方法的形参
(3)父类作为方法的返回值
(4)父类到子类的转换(向下转型)
3.子类转换成父类的规则(向上转换,父类引用子类对象)
(1)将一个父类的引用指向一个子类对象,称为向上转型,自动进行类型转换
(2)此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
(3)此时通过父类引用变量无法调用子类特有的方法
3.实现多态的三个条件
(1)继承的存在(继承是多态的基础,没有继承就没有基础)
(2)子类重写父类的方法(多态下调用子类重写后的方法)
(3)父类引用变量指向子类对象(子类到父类的类型转换)
4.类型转换
(1)基本数据类型之间进行强制类型转换是对被强制转换类型”做手术”;
(2)引用数据类型之间进行强制类型转换是为了还原子类的真实面目,而不是给子类做手术
5. instanceof运算符
语法:对象 instanceof 类或接口
Instanceof 是用来判断一个对象是否属于一个类或者实现了一个接口,结果为 true 或 false
注意:使用 Instanceof运算符时,对象的类型必须和第二个参数所指定的类或接口在继承树
上存在上下级关系,通常结合强制类型转换使用