面向对象的三大基本特征之三:多态
2023-12-18 19:55:08
什么是多态
- 多态就是事物的多种形态,一个对象在不同条件下所表现的不同形式
- 多态是在继承/实现情况下的一种现象,表现为:对象多态、行为多态。
多态的具体代码体现
?多态的前提
- 由继承/实现关系;存在父类引用子类对象;存在方法重写
多态的一个注意事项
- 多态是对象、行为的多态,Java中的属性(成员变量)不谈多态
使用多态的好处
- 在多态形式下,右边对象是解耦合的,跟利于扩展和维护。
- 定于方法时,使用父类类型的形参,可以接收一切子类对象,扩展性更强、更便利。
多态下会产生一个问题
- 多态下不能使用子类的独有功能
多态下的类型转换问题
类型转换
- 自动类型转换:父类? 变量名? =? new? 子类();? ? ? ? ? 例如:People p = new Teacher();
- 强制类型转换:子类? 变量名? =??(子类) 父类变量;? ?例如:Teacher t = (Teacher)p;
强制类型转换的一个注意事项
- 存在继承/实现关系就可以在编译阶段进行强制类型转换,编译阶段不会报错。
- 运行时,如果发现对象的真实类型与强转后的类型不同,就会报类型转换异常(ClassCastException)的错误出来。
?强制前,Java建议:
- 使用instanceof关键字,判断当前对象的真实性,再进行强转。
?
文章来源:https://blog.csdn.net/SU_mu147/article/details/135061433
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!