多态

多态概述

 

 

最终多态体现为父类引用变量可以指向子类对象

 

多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态

 

在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法

 

 

 多态的定义与使用格式

 

 

 

 

 

 

 注意事项:

1.

同一个父类的方法会被不同的子类重写。在调用方法时,调用的为各个子类重写后的方法。

2.

 

当变量名指向不同的子类对象时,由于每个子类重写父类方法的内容不同,所以会调用不同的方法。

 

多态-成员的特点

 

 

 

instanceof关键字

 

我们可以通过instanceof关键字来判断某个对象是否属于某种数据类型

 

 

 

 

 

 

 多态-转型

 

 

 

 

 多态的好处与弊端

 

当父类的引用指向子类对象时,就发生了向上转型,即把子类类型对象转成了父类类型。向上转型的好处是隐藏了子类类型,提高了代码的扩展性。

但向上转型也有弊端,只能使用父类共性的内容,而无法使用子类特有功能,功能有限制

 

总结下:

什么时候使用向上转型:

当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作,这时就可以使用向上转型。

 

什么时候使用向下转型

 

当要使用子类特有功能时,就需要使用向下转型。

向下转型的好处:

向下转型的好处:可以使用子类特有功能。

 

弊端是:需要面对具体的子类对象;在向下转型时容易发生ClassCastException类型转换异常。在转换之前必须做类型判断。

 

 

 多态-举例

 

 

posted @ 2019-12-19 11:42  邢昊天  阅读(132)  评论(0)    收藏  举报