4-2節(jié)Animal類型和Dog類型的轉(zhuǎn)換
Dog dog = new Dog();
Animal animal = dog;
Dog dog2 = (Dog)animal;
第二行代碼是把dog 的Dog類型轉(zhuǎn)換成Animal類型嗎?
第三行代碼的animal又是從Animal類型強制轉(zhuǎn)換成Dog類型嗎?是執(zhí)行后dog2的類型為Dog類型嗎?
這節(jié)看得很迷糊,看了好幾遍,不知道理解得對不對,望告知。
Dog dog = new Dog();
Animal animal = dog;
Dog dog2 = (Dog)animal;
第二行代碼是把dog 的Dog類型轉(zhuǎn)換成Animal類型嗎?
第三行代碼的animal又是從Animal類型強制轉(zhuǎn)換成Dog類型嗎?是執(zhí)行后dog2的類型為Dog類型嗎?
這節(jié)看得很迷糊,看了好幾遍,不知道理解得對不對,望告知。
2016-09-10
舉報
2016-09-10
第二行是把Dog的dog賦給了Animal的animal,第三行是先把animal強轉(zhuǎn)Dog類型然后賦給了dog2,他們屬于引用關(guān)系
2016-09-10
第二行是向上轉(zhuǎn)換,因為Animal類是包含Dog類的,范圍更廣,前兩行其實就相當于普通的父類引用指向子類對象:
Animal animal = new Dog();
而第三行是將這個對象animal強制轉(zhuǎn)換成了Dog類;