亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

4-2節Animal類型和Dog類型的轉換

Dog dog = new Dog();

Animal animal = dog;

Dog dog2 = (Dog)animal;

第二行代碼是把dog 的Dog類型轉換成Animal類型嗎?

第三行代碼的animal又是從Animal類型強制轉換成Dog類型嗎?是執行后dog2的類型為Dog類型嗎?

這節看得很迷糊,看了好幾遍,不知道理解得對不對,望告知。

正在回答

2 回答

第二行是把Dog的dog賦給了Animal的animal,第三行是先把animal強轉Dog類型然后賦給了dog2,他們屬于引用關系

2 回復 有任何疑惑可以回復我~
#1

K_Muxs 提問者

這個賦予 是賦予什么?
2016-09-10 回復 有任何疑惑可以回復我~
#2

追夢_ing 回復 K_Muxs 提問者

不好意思,打錯了是引用不是賦值,Animal類型的animal指向了子類開辟的內存空間dog
2016-09-10 回復 有任何疑惑可以回復我~
#3

K_Muxs 提問者

非常感謝!
2016-09-10 回復 有任何疑惑可以回復我~

第二行是向上轉換,因為Animal類是包含Dog類的,范圍更廣,前兩行其實就相當于普通的父類引用指向子類對象:

Animal animal = new Dog();

而第三行是將這個對象animal強制轉換成了Dog類;

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

K_Muxs 提問者

非常感謝!
2016-09-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

4-2節Animal類型和Dog類型的轉換

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號