Java三大特征之一多态

本文介绍了Java中的多态机制,包括向上转型、向下转型的概念,以及如何通过`ClassCastException`处理类型转换错误。强调了使用`instanceof`运算符检查类型以避免强制转型错误,并阐述了多态在降低耦合度和提高程序扩展性上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多态是Java的核心机制,总计就是父类的引用指向子类的对象,但是父类的引用不能使用

- 关于多态的几个概念:

  - 向上转型(upcasting):子类型-->父类型,又被称为自动类型转换

  - 向下转型(downcasting):父类型-->子类型,又被称为强制类型转换(需要添加转换符)

  - 无论是向上转型还是向下转型,两种类型之间都必须要有继承关系,没有继承关系编译不会通过

- 多态中的一个著名异常:*java.lang.ClassCastException(类转换异常)*;

  - i、该异常只又在强制类型转换时才会发生,也就是说“向下转型”存在隐患(编译过了,但是运行错误)

  - ii、向上转型只要编译过来,运行就不会出错

  - iii、如何避免向下转型出现的这种错误:
    - 使用instanceof运算符来避免

  - iv、关于instanceof运算符:
    - 语法格式

​                        (引用  instanceof 数据类型名)

​                    以上运行结果是布尔类型:

​                    例如:(a instanceof Animal)

​                    结果为true,表示引用a指向的对象是一个Animal类型;

​                    结果为false,表示引用a指向的不是;

​                所以,在进行强制类型转换时,建议使用instanceof来进行判断

- 多态的作用

  - 降低程序的耦合度(解耦合),提高程序的扩展力

  - 能使用多态就使用多态

  - 父类型引用指向子类型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值