我加載使用鑄造對象的
的Class.forName(klassname,假,裝載機)
一類這種i之後創建使用
klass.newInstance(一個實例); 它會返回一個對象類型。我想將它轉換爲特定類型(即.Klassnamw實例)。我使用普通投射,但由於它在運行時沒有解析而被掛起。我該如何投射它?Hellp
我加載使用鑄造對象的
的Class.forName(klassname,假,裝載機)
一類這種i之後創建使用
klass.newInstance(一個實例); 它會返回一個對象類型。我想將它轉換爲特定類型(即.Klassnamw實例)。我使用普通投射,但由於它在運行時沒有解析而被掛起。我該如何投射它?Hellp
Casting通常用來給編譯器提供更多信息。你在編譯時沒有這些信息,所以你不能把它給給編譯器。
此外,鑄造的重點通常是讓你可以找到某些其他人不會知道的成員 - 但如果你在執行時間之前不知道這個類,你怎麼知道這些成員?
在某些情況下,它會很好,但它們非常罕見。創建完實例後,你想要做什麼?如果你正試圖調用你在編譯時知道的方法,你可以使這些方法成爲接口的一部分,並將其轉換爲接口?
您正在使用反射,因爲您不知道(或無法解析)要在編譯時加載的類。
因此,您不能上課。
除非有一個接口(或父類)可以在編譯時解析(並因此轉換爲),否則必須使用反射來執行對該對象有用的任何操作。
是的,謝謝得到它 – Steven 2010-03-31 05:40:53
這不是邏輯上不可行嗎? – shinkou 2010-03-31 05:29:27