多态的问题

多态是Java的三大特性之一,它允许同一件事在不同对象上有不同结果。实现多态需要满足三个条件:继承、子类重写父类方法以及父类引用指向子类对象。多态包括向上转型和向下转型,向上转型是自动的,能调用父类所有方法,但无法调用子类特有的。向下转型需先向上转型再进行,确保安全。

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

多态是Java面向对象中三大特性之一

多态的定义:同一件事放在不同的对象上面会有不同的结果

多态的条件

1.继承关系

2.子类要重新父类的方法

3.父类的引用指向子类的对象

多态的转型分为向上转型和向下转型

多态的向上转型

语法格式

父类 父类的引用 = new 子类();

1.向上转型是自动的,将子类的对象赋值给父类的引用

2.小范围(子类)转为大范围(父类)的转换是可以自动转换的

3.父类的引用可以调用父类的所有方法,但不能调用子类多有的方法

4.最终的调用结果看的是子类中重写的方法

多态的向下转型

语法格式

父类 父类的引用 = new 子类()

子类 子类的引用 = (子类)父类的引用

注意,如果想要多态向下转型,首先就需要先向上转型,然后再向下转型

个人理解:

子类调用 向上转型后父类引用(向上转型后的父类强行赋值给子类,然后子类在调用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值