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

为什么要进行引用类型的转换

为什么要进行引用类型的转换啊?

正在回答

3 回答

引用类型转换也就是多态是为了提高代码的扩展性,你前期定义的内容在后期也可以使用

向上转型可以限制对特有功能的访问 如 你将子类对象提升成了父类型,子类中的特有成员将不能被使用

向下转型也就是解除这个限制,或者说是为了使用子类中的特有成员

0 回复 有任何疑惑可以回复我~
#1

didi1234 提问者

非常感谢!
2015-09-18 回复 有任何疑惑可以回复我~
#2

didi1234 提问者

还有一个问题,向下类型转换会发生什么样的溢出危险,能不能举个例子什么的,谢谢啦
2015-09-18 回复 有任何疑惑可以回复我~
#3

天启之魂 回复 didi1234 提问者

你说的有溢出风险的是类型强转 比如int转为short 会因为数据长度不够而导致数据丢失,因为int是4字节 short是2字节.多态里面的父类往子类转换没有溢出风险 但是比如你用子类猫建立的对象,向上转换为父类动物的引用,然后再往下转就只能转猫,而不能转成动物的其他子类,会抛出异常的
2015-09-19 回复 有任何疑惑可以回复我~
#4

天启之魂 回复 didi1234 提问者

不好意思 说的有点问题 两种应该都算是向下转型 哈哈 一个是基本数据类型的向下转换,一个是引用数据类型的向下转换 基本数据类型向下强转可能会溢出,比如int x=1024 如果将x强转为byte类型 x会变为0,引用数据类型向下转型不会溢出 而是可能不能转,会运行时抛出异常
2015-09-19 回复 有任何疑惑可以回复我~
#5

didi1234 提问者 回复 天启之魂

谢啦~
2015-09-19 回复 有任何疑惑可以回复我~
查看2条回复

装箱和拆箱么?

0 回复 有任何疑惑可以回复我~

你能说具体点吗,比如给个例子,我不知道你具体想问什么。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530048    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

为什么要进行引用类型的转换

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信