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

为什么Animal animal = dog 是向上类型转换?

为什么Animal animal  = dog是向上类型转换? 这句话是指将dog引用赋给animal引用, 是子类的引用要比父类的引用小么?

正在回答

5 回答

向上类型转换的意思是: 小类型到大类型的转换      而你上面的表达式的意思是将右边的dog转换为animal    而显然   Dog和Animal是Dog继承于Animal的    因而说将Dog的对象dog转换为Animal的对象animal是将小类型转换为大类型   所以是向上类型转换    (我也是初学者  这是自己的理解  如果不对的话  请指出错误   大家一起进步!谢谢)

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

wswzh0329

。。dog 跟animal不是具体的对象哦,他们只是一个引用,指向一个地址,而我用了equals方法的时候发现dog跟animal是相同的,即它们指向的是用一个对象的地址!同样初学者,共勉!
2015-10-09 回复 有任何疑惑可以回复我~
#2

怒放的生命012 回复 wswzh0329

问下是animal 转换成dog类型后么,二者的地址是一样的??????
2016-05-23 回复 有任何疑惑可以回复我~

Animla animal = Dog dog;之所以是向上转型,是因为Dog extends Animal ,子类型的范围比父类型的大,子类不只是animal,而且还有自己的特许属性或者行为

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

把子类转换成父类就算向上类型转换..

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

发条橙

应该说把子类类型的对象转换成父类类型.
2015-03-27 回复 有任何疑惑可以回复我~

你把代码贴出来啊...

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

举报

0/150
提交
取消

为什么Animal animal = dog 是向上类型转换?

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