java多态的理解,向上转型和向下转型

java多态的理解,向上转型和向下转型


众所周知:java是一门面向对象的语言.
众所周知:面向对象具有封装,继承,多态三大特性.

怎么理解多态呢?
一个事物的多种表现形式.比如说你是张三,你既是一个人类存在于地球,又是一个学生存在于学校,还是一个孩子存在于家庭.
在java语言中,当子类class Student继承父类class Person后,就会既是Person也是Student.
所以可以认为继承是多态的前提.

在java代码中,要具体辨别多态,就要观察:父类的引用有没有指向子类的对象.
子类中对父类方法的重写就是多态的体现.
同一个类中方法的重载也是多态的体现.

那么什么是向上转型和向下转型呢?
在基本数据类型中,有自动类型转换和强制类型转换.
当数据精度高的类型转换到数据精度低的类型不进行强制转换就会报错.
在这里插入图片描述
向上转型就可以类比自动类型转换
向下转型就可以类比强制类型转换
在这里插入图片描述
注意:
在这里插入图片描述
这里是子类引用指向了父类对象,会报错,不是向下转型.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值