2011-04-26 57 views
1

所以我創建了一個類的實例,通過搜索沒有問題的jar文件,我已經設置爲使用c.newInstance()創建一個實例(是實例的權利在這裏使用的單詞?)創建一個動態加載的類的另一個實例 - Java

在程序後面我可能想要創建該類的另一個實例,如果發生某些事件。我怎麼能創建這個,而不必搜索所有的Jar文件,直到找到合適的文件然後重新創建它爲止?如果我還有第一個引用的話,有沒有辦法創建它?

請假設我不知道要在運行時加載的類的名稱,並且會有多個類將被加載。

感謝

+0

哈哈,3人全部用正確的答案。我該如何選擇? – tgrosinger 2011-04-26 20:35:22

+0

丟擲骰子... – Bozho 2011-04-26 20:37:30

+0

當你形成答案時,你發現自己指的是一個特定的骰子嗎? – rajah9 2011-04-26 20:41:45

回答

2

假設 「x」 是您創建的對象......

x.getClass().newInstance(); 
4

保存到你的對象的類的引用

Class c = dynamicObject.getClass(); 

和你可以像這樣創建一個新的實例(假設有一個無參數的構造函數)

Object anotherDynamicObject = c.newInstance(); // you can cast accordingly 

別的,說有這需要一個INT consturctor,你可以做

Constructor constructor = c.getConstructor(int.class); 
Object anotherDynamicObject = constructor.newInstance(1); 
相關問題