最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

Cat cat=(Cat)animal;//編譯時是按Cat類型,為什么運(yùn)行時是按Dog類型?

是不是因為在他之上有?Dog dog2=(Dog)animal;這一句,已經(jīng)把a(bǔ)nimal轉(zhuǎn)成了Dog類型,所以運(yùn)行時是按照Dog類型?

正在回答

2 回答

有解答么。。。

0 回復(fù) 有任何疑惑可以回復(fù)我~

在繼承中,子類向父類轉(zhuǎn)換稱為“向上轉(zhuǎn)型”,將父類向子類轉(zhuǎn)換稱為“向下轉(zhuǎn)型”。
很多時候,我們會將變量定義為父類的類型,卻引用子類的對象,這個過程就是向上轉(zhuǎn)型。程序運(yùn)行時通過動態(tài)綁定來實現(xiàn)對子類方法的調(diào)用,也就是多態(tài)性。
然而有些時候為了完成某些父類沒有的功能,我們需要將向上轉(zhuǎn)型后的子類對象再轉(zhuǎn)成子類,調(diào)用子類的方法,這就是向下轉(zhuǎn)型。
注意:不能直接將父類的對象強(qiáng)制轉(zhuǎn)換為子類類型,只能將向上轉(zhuǎn)型后的子類對象再次轉(zhuǎn)換為子類類型。也就是說,子類對象必須向上轉(zhuǎn)型后,才能再向下轉(zhuǎn)型。

因為向下轉(zhuǎn)型存在風(fēng)險,所以在接收到父類的一個引用時,請務(wù)必使用 instanceof 運(yùn)算符來判斷該對象是否是你所要的。

?Dog?dog2=(Dog)animal

這里你已經(jīng)強(qiáng)制轉(zhuǎn)換了,可以能存在風(fēng)險,但是編譯可以通過,運(yùn)行時可能會出現(xiàn)問題,建議使用instanceof判斷。

3 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

Cat cat=(Cat)animal;//編譯時是按Cat類型,為什么運(yùn)行時是按Dog類型?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號