第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么要Foo類型轉(zhuǎn)換呢 ?本來c1.newInstance()就是Foo類的對象,那么Foo foo不也是Foo的嗎 都一樣的類型為什么要轉(zhuǎn)換呢 ?求大神解釋啊@

為什么啊

正在回答

6 回答

肯定不能這么用

Foo foo = new Foo();

Class<?> c = foo.getClass();

foo = c.instance();

這么用就死循環(huán)了,而且一點(diǎn)意義就沒有。

這些只是舉個(gè)例子,可以得到一個(gè)對象的Class對象,也可以從一個(gè)Class對象轉(zhuǎn)換成一個(gè)具體對象。

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

(thinking?in?java 4th?p319)newInstance是實(shí)現(xiàn)虛擬?構(gòu)造器的一種方法,(虛擬構(gòu)造器:允許你不知道確切類型,但是你必須要正確的創(chuàng)造自己)而c1,c2,c3僅僅只是Class類的引用,編譯器不具備任何更多信息,只有在創(chuàng)建新實(shí)例的時(shí)候會(huì)得到Object引用(注意?是Object引用),你要想用這個(gè)引用那你必須要向下轉(zhuǎn)型啦,就是這里的強(qiáng)制類型轉(zhuǎn)換。。

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

轉(zhuǎn)型是為了得到更準(zhǔn)確的信息。

例如人是動(dòng)物,狗也是動(dòng)物。 但是你要表示人的話,你還是要把動(dòng)物轉(zhuǎn)成人。

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

我覺得可以這樣理解,你說newInstance到底返回什么才能讓所有的類都可以這樣去實(shí)例化呢?那就需要所有類的父類對不對,那個(gè)所有類的父類就是Object,所以返回回來的是Object,那么這樣的話就需要轉(zhuǎn)換類型了,而你說的如果設(shè)計(jì)的人本身就不知道你有Foo這個(gè)類,所以他當(dāng)然不會(huì)返回Foo這個(gè)類型。

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

c1.newInstance()這個(gè)方法的返回值是Object類型,所以需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。

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

c1的類型是Class,你在仔細(xì)看看視頻

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

舉報(bào)

0/150
提交
取消

為什么要Foo類型轉(zhuǎn)換呢 ?本來c1.newInstance()就是Foo類的對象,那么Foo foo不也是Foo的嗎 都一樣的類型為什么要轉(zhuǎn)換呢 ?求大神解釋啊@

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

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

幫助反饋 APP下載

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

公眾號

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