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

Animal animal = dog;的含义

a = 1;   是把1赋给a,那么

Animal animal = dog;  是把dog的所有属性赋给animal还是别的意思?

正在回答

4 回答

这里是强制类型转换,将animal强制转换为Dog类,并用dog2标识,属于向下类型转换,存在风险

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

怒放的生命012

刚才animal不是已经转换成Dog类型了么,为什么 dog2是Dog类型 ,还要进行数据强制转换呢
2016-05-23 回复 有任何疑惑可以回复我~

不知道不要乱回答好吧。Dog类中可以有很多对象,dog只是其中的一个对象,Animal中也是可以有很多对象。

Animal animal = dog;

的意思是把Dog类中名为dog的对象利用向上类型转换,转换成Animal类并 用animal来标识,其实animal是在Animall类中的一个新名字,但是还是dog本身。

打个比方:你在家里是小明,属于你家里称呼,你家可能还有其他孩子。你到了你家族中会有你 族名,这名字标识你在家族的称呼,其实这两个都是你。

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

qq__878

请教一下Dog dog2 =(Dog) animal;的含义
2015-08-03 回复 有任何疑惑可以回复我~

int  a = 6;

和上面的一个意思喽。

把dog赋值给animal,animal的类型是Animal。


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

应该是建立的对象animal可调用和重写dog的所有属性

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

举报

0/150
提交
取消

Animal animal = dog;的含义

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