我有一組類:TestClass1
,TestClass2
和TestClass3
。所有這些類都從類MainTestClass
繼承。類TestClass1
,TestClass2
和TestClass3
具有不同的構造函數。例如:調用未知參數的構造函數
TestClass1(String s)
TestClass2(Integer i)
TestClass3(Double d)
類可以有多個構造函數 - 每個構造函數都不同於其他構造函數。
現在我想隨機創建這些類的實例並將它們存儲在List中。爲此,我將對象TestClass1
,...使用TestClass1.class
,...存儲在列表中。然後,我得到例如每個類的第一個構造函數,它具有非零參數count。現在,當我想使用newInstance()
方法創建對象時,我不知道傳遞給此特定構造函數的參數的類型和數量。
是否有可能使用反射來實現這樣的效果?我一直在思考着什麼樣
setConstructorArgument(int number, Object value)
或
setConstructorArguments(Object[] arguments)
做類似的方法都存在的Java?
[構造函數對象有一個newInstance](http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Constructor.html#newInstance(java.lang.Object ...) ))需要參數的方法。你也可以通過構造函數來獲取參數類型和數量。 – BevynQ 2013-03-25 00:28:16
好吧,我的錯。我不知道,你可以用'Object [] initargs'替代'Object ... initargs'。你可以發表你的評論作爲答案,我會接受它作爲正確的。謝謝 :) – Hfaua 2013-03-25 00:51:09