为了账号安全,请及时绑定邮箱和手机立即绑定

谈谈我对多态的理解

标签:
Java

什么是多态

多态是面向对象的特性之一,从字面上理解,多态就是指一个对象在运行是会有多种形态,就比如可以说student是一个person,也可以说student是一个object。

我们来看一个经典的例子:

Service service=new ServiceImpl();

我们经常看到这样的代码,这就是多态的一种表现。

为什么要多态

多态可以让代码更加灵活,再举一个例子:

List<String> list=new ArrayList<>();

这也是我们常写的一句代码,为什么不把List换成ArrayList?

一个很大的原因就是要考虑到以后的情况,假设以后ArrayList已无法满足我们软件的需求,这时候可能需要一个和ArrayList相似的类来替代它,那么如果我们直接面向具体的类进行编程,以后的可维护性肯定会变差,所以多态能使我们面向抽象进行编程,使代码更加地灵活。

多态的缺点

那么多态肯定会有它的缺点,那就是我们无法调用我们具体类的方法。什么意思?举个例子:

假设我们的Person类有一个speak方法,Student类是从Person类继承过来的,它有一个额外的方法study。

那么我们直接这样:

Person student=new Student();

很明显,这样我们就失去了study这个方法。


点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消