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