課程
/后端開發
/Java
/反射——Java高級開發必須懂的
為什么要Foo類型轉換呢 ?本來c1.newInstance()就是Foo類的對象,那么Foo foo不也是Foo的嗎 都一樣的類型為什么要轉換呢 ?求大神解釋啊@
2014-11-26
源自:反射——Java高級開發必須懂的 1-1
正在回答
我理解是這個會根據c1屬于不同的類型,那么c1.newInstance()就會實例化出相應的類型,也就是說其實是無法確定的類型,加上類型轉換就是告訴它要轉化成相應類型,
就像Object一樣,他算是很多東西的祖宗,可以代表各種東西。你寫 Object f1=new Foo();同樣不會報錯,但是當某個東西返回的是Object格式,哪怕你知道返回來的是Foo類型,同樣需要類型轉換來接收它。比如
Foo f2=(Foo)new Object();這里必須加上(Foo)這個類型轉化。
哦哦 第二句說的是錯的啊 !感謝大神!哎,基礎差就是不行啊
c1的類型是Class不是Foo
舉報
反射,Java高級開發必須要懂的知識點,學好Java高級課程的基礎
2 回答求解大神和老師
1 回答求解答,謝謝
2 回答求解,文檔注釋的快捷鍵 是什么,我ctrl+shift+j出來的是類的文檔注釋,如何讓注釋出現在類里面的方法的上方
2 回答求解在反射中
3 回答有幾個問題求解答!
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-03
我理解是這個會根據c1屬于不同的類型,那么c1.newInstance()就會實例化出相應的類型,也就是說其實是無法確定的類型,加上類型轉換就是告訴它要轉化成相應類型,
就像Object一樣,他算是很多東西的祖宗,可以代表各種東西。你寫 Object f1=new Foo();同樣不會報錯,但是當某個東西返回的是Object格式,哪怕你知道返回來的是Foo類型,同樣需要類型轉換來接收它。比如
Foo f2=(Foo)new Object();這里必須加上(Foo)這個類型轉化。
2014-11-26
哦哦 第二句說的是錯的啊 !感謝大神!哎,基礎差就是不行啊
2014-11-26
c1的類型是Class不是Foo