課程
/后端開發
/Java
/Java入門第二季 升級版
Dog?dog=new?Dog(); Animal?animal=dog; Dog?dog2=(Dog)animal; Cat?cat=(Cat)animal;
2016-11-22
源自:Java入門第二季 升級版 10-2
正在回答
向上類型轉換,也就是小類型到大類型的轉換。這種轉換不需要考慮類型,肯定正確。
向下類型轉換,也就是大轉小。這種轉換必須考慮類型,也就是只有相同類型才能正確轉換。該類型用instanceof類驗證。
樓主你所說的就是第二種轉換模式,需要考慮到類型相同,才能正確轉換。就Dog dog2=(Dog)animal;這個轉換來說是Animal類型轉換為Dog類型的,但是在前面Dog dog=new Dog(); ?Animal animal=dog;已經把Dog類型轉換成Animal類型。所以Dog dog2=(Dog)animal;就是一個相同類型的轉換
而Cat cat=(Cat)animal;這個不是相同類型轉換,所以是錯誤的
慕粉0958453215 提問者
堂吉柯德熊
歷飛雨 回復 堂吉柯德熊
qq_夢盈華爾茲_0 回復 堂吉柯德熊
如果Cat和Dog都轉換成Animal,就會覆蓋掉,怎么兩個都轉呢
跟第一句話有關系??疵靼椎谝痪湓?。
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
5 回答為什么dog就可以強制類型轉換,而cat就不行?不都是動物的子類么?
4 回答Cat cat=(Cat)animal;//編譯時是按Cat類型,為什么運行時是按Dog類型?
2 回答為什么轉換成dog可以,而不能轉換成cat
4 回答本節例題中animal可以強制轉換成Dog類,為什么不能強制轉換成Cat類?Cat類和Dog類都是Animal類的子類啊。
1 回答為什么Cat類型無法轉換呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-11-30
向上類型轉換,也就是小類型到大類型的轉換。這種轉換不需要考慮類型,肯定正確。
向下類型轉換,也就是大轉小。這種轉換必須考慮類型,也就是只有相同類型才能正確轉換。該類型用instanceof類驗證。
樓主你所說的就是第二種轉換模式,需要考慮到類型相同,才能正確轉換。就Dog dog2=(Dog)animal;這個轉換來說是Animal類型轉換為Dog類型的,但是在前面Dog dog=new Dog(); ?Animal animal=dog;已經把Dog類型轉換成Animal類型。所以Dog dog2=(Dog)animal;就是一個相同類型的轉換
而Cat cat=(Cat)animal;這個不是相同類型轉換,所以是錯誤的
2017-05-31
如果Cat和Dog都轉換成Animal,就會覆蓋掉,怎么兩個都轉呢
2016-11-22
跟第一句話有關系??疵靼椎谝痪湓?。