java多态的条件_Java基础·多态

相关推荐

多态

多态(Polymorphism)属于面向对象三大特征之一,是同一个行为具有多个不同表现形式或形态的能力。

它的前提是封装形成独立体,独立体之间存在继承关系,从而产生多态机制

10.1 多态中向上转型和向下转型

1.向上转型:子类型转换为父类型,又被称为自动类型转换。

2.向下转型:父类型转换为子类型,又被称为强制类型转换。

d966887a35a8508ea17f7bac0eeecdd8.png

3.在 Java 语言中有这样的一个规定:无论是向上转型还是向下转型,两种类型之间都必须要有继承关系,没有继承关系情况下进行向上转型或向下转型时,编译器都会报错。

例一:

c89e1526558252bb5737b63e22739aa8.png

例二:

5b943849c98decad40322ff35944ec57.png

例一中的代码没有报错?例二中的代码出现报错,原因是a本身就是Cat对象,所以自然可以向下转型为Cat,也理所当然不能转为Dog。a1为 Animal对象,所以它也不能被向下转型为任何子类对象。

注意

①向下转型的前提是父类对象指向的是子类对象(也就是说,在向下转型之前,它得先向上转型)。

②转型只能转型为本类对象。

4.Java中存在多态的三个必要前提条件:

(1)要有继承关系。

(2)要有方法重写。

(3)要有父类引用指向子类对象,也叫向上转型。

10.2 多态的好处和弊端

1.多态的好处:

(1)提高了代码的维护性(继承保证) 。

例如:在父类改一个属性不用每个子类都改属性。

(2)提高代码的扩展性(多态保证)。

例如:方法中使用父类为参数,来实现方法或者属性的调用。

2.多态的弊端:不能使用子类的特有属性和行为。

3.多态的注意事项:

(1)开发中创建对象的时候,用父类引用指向子类对象比较常用。

(2)当作参数时,使用多态最好,因为扩展性强。

小结

通过本节课的学习,我们了解了什么是多态(polymorphic),同时在Java中,存在多态的前提条件为:继承、重写、父类的引用指向子类对象。

同时,我们还了解了多态的好处和弊端:

优点:可维护性高,扩展性高;

弊端:不能使用子类的特有属性和行为。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值