面向对象的三大基本特征之三:多态

发布时间:2023年12月18日

什么是多态

  • 多态就是事物的多种形态,一个对象在不同条件下所表现的不同形式
  • 多态是在继承/实现情况下的一种现象,表现为:对象多态、行为多态。

多态的具体代码体现

?多态的前提

  • 由继承/实现关系;存在父类引用子类对象;存在方法重写

多态的一个注意事项

  • 多态是对象、行为的多态,Java中的属性(成员变量)不谈多态

使用多态的好处

  • 在多态形式下,右边对象是解耦合的,跟利于扩展和维护。
  • 定于方法时,使用父类类型的形参,可以接收一切子类对象,扩展性更强、更便利。

多态下会产生一个问题

  • 多态下不能使用子类的独有功能

多态下的类型转换问题

类型转换

  • 自动类型转换:父类? 变量名? =? new? 子类();? ? ? ? ? 例如:People p = new Teacher();
  • 强制类型转换:子类? 变量名? =??(子类) 父类变量;? ?例如:Teacher t = (Teacher)p;

强制类型转换的一个注意事项

  • 存在继承/实现关系就可以在编译阶段进行强制类型转换,编译阶段不会报错。
  • 运行时,如果发现对象的真实类型与强转后的类型不同,就会报类型转换异常(ClassCastException)的错误出来。

?强制前,Java建议:

  • 使用instanceof关键字,判断当前对象的真实性,再进行强转。

?

文章来源:https://blog.csdn.net/SU_mu147/article/details/135061433
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。