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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

強(qiáng)制類型轉(zhuǎn)換不能直接將父類對(duì)象轉(zhuǎn)換為子類對(duì)象嗎

在程序中,我將父類的對(duì)象強(qiáng)制轉(zhuǎn)換為子類的對(duì)象,為什么會(huì)報(bào)錯(cuò)?既然是強(qiáng)制轉(zhuǎn)換,本來(lái)就是從大類型到小類型的轉(zhuǎn)換啊???

package?com.imooc;

//學(xué)習(xí)多態(tài)

public?class?Initial?{

	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		
		Dog?dog?=?new?Dog();
		Animal?animal?=?dog;//自動(dòng)類型提升?向上類型轉(zhuǎn)換
		Animal?animal2?=?new?Animal();
		Dog?dog2?=?(Dog)animal2;//向下類型轉(zhuǎn)換?強(qiáng)制類型轉(zhuǎn)換
//		Cat?cat?=?(Cat)animal;
	}

}

運(yùn)行結(jié)果:
Exception?in?thread?"main"?java.lang.ClassCastException:?com.imooc.Animal?cannot?be?cast?to?com.imooc.Dog
at?com.imooc.Initial.main(Initial.java:22)


正在回答

3 回答

不是你這個(gè)意思的,它原來(lái)是一只動(dòng)物,你沒(méi)說(shuō)它是什么動(dòng)物就強(qiáng)行轉(zhuǎn)換成一只狗可以么?不可以!

但是 ?如果 它原來(lái)就是一只狗的話

Animal?animal?=?new?Dog();

Dog?dog2?=?(Dog)animal;

這樣就不會(huì)報(bào)錯(cuò)了。

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

_天微涼_ 提問(wèn)者

非常感謝!
2015-09-09 回復(fù) 有任何疑惑可以回復(fù)我~

Animal?animal?=?new?Dog();和?Dog animal?=?new?Dog();除了不能引用子類獨(dú)有的方法外,有區(qū)別嗎? ?Animal?animal?=?new?Dog();到底是怎樣的意思?

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

pickupMyhead

Animal animal = new Dog();//是創(chuàng)建了一個(gè)叫動(dòng)物名稱的引用對(duì)象和狗的實(shí)例對(duì)象,并匹配。 Dog animal = new Dog();//建議以后設(shè)變量名稱精確點(diǎn),這里只是創(chuàng)建了一個(gè)叫animal(建議改成dog)的狗的實(shí)例子對(duì)象。
2018-09-15 回復(fù) 有任何疑惑可以回復(fù)我~

任何時(shí)候,將父類對(duì)象強(qiáng)制轉(zhuǎn)換為子類對(duì)象,編譯都能通過(guò)。這句話對(duì)嗎?

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

舉報(bào)

0/150
提交
取消

強(qiáng)制類型轉(zhuǎn)換不能直接將父類對(duì)象轉(zhuǎn)換為子類對(duì)象嗎

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

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

幫助反饋 APP下載

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

公眾號(hào)

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