Ch03 多态
多态的二种形态
1.父类作形参,子类作实参
2.父类作为返回类型,子类实例化
什么是多态:
简单来说:多态(polymorphism)是具有表现多种形态的能力的特征
更专业的说法:同一个实现接口,使用不同的实例而实现不同的操作
子类转换成父类的规则
- 1.将一个父类的引用指向一个子类对象,称为向上转型(Upcasting),自动进行类型转换
- 2.此时通过父类的引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
- 3.此时通过父类引用变量无法调用子类特有的方法
实现多态的三个条件(多态实现思路)
- 1.继承的存在(继承是多态的继承,没有继承,就没有多态)
- 2.子类重写父类的方法(多态下调用子类重写后的方法)
- 3.父类引用变量指向子类对象(子类到父类的类型转换)
Instanceof (运算符)关键字
语法 (数据源 instanceof 目标数据)
对象 instanceof 类或接口
该运算符用来判断一个对象是否属于一个类,或者实现了一个接口,结果未true或false。在强制类型转换之前通过instanceof 运算符检查对象的真实类型,再进行相应的强制类型转换,这样就可以避免类型转换异常,从而提高代码的健壮性。
instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。
本章总结
- 1.通过多态可以减少类中的代码量,可以提高代码的可拓展性和可维护性。继承是多态的继承,没有继承就没有多态。
- 2.把子类转换为父类称为向上转型,自动进行类型转换。把父类转换为子类称为向下转型,必须进行强制类型转换。
- 3.向上转型后通过父类引用变量调用的方法是子类覆盖或继承父类的方法,通过父类引用变量无法调用子类特有的方法
- 4.向下转型后可以访问子类特有的方法。必须转换为父类指向的真实子类类型,否则将出现类型转换异常ClassCastException。
- 5.Instanceof 运算符用于判断一个对象是否属于一个类或者实现了一个接口。
- 6.Instanceof 运算符通常和强制类型转换结合使用,先通过instanceof进行类型判断,再进行相应的强制类型转换。
- 7.使用父类作为方法的形参和使用父类作为返回值类型是使用多态的常用方式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/41473.html