2011-10-03 16 views
6

クラスを動的に作成する必要がありますが、クラスコンストラクタ渡しパラメータを使用したいと思います。Javaクラス動的にコンストラクタパラメータ

現在、私のコードは、私がパラメータでコンストラクタを呼び出すことができますどのように

Class<HsaInterface> _tempClass = (Class<HsaInterface>) Class.forName(hsaClass); 
     _tempClass.getDeclaredConstructor(String.class); 
     HsaInterface hsaAdapter = _tempClass.newInstance(); 
     hsaAdapter.executeRequestTxn(txnData); 

のように見えますか?

答えて

13

あなたが使用することになっているConstructorオブジェクトを返しますgetDeclaredConstructor()、親しま。また、StringオブジェクトをnewInstance()メソッドのConstructorに渡す必要があります。

1
Constructor constructor = _tempClass.getDeclaredConstructor(String.class); 
Object obj = constructor.newInstance("some string"); 
6
Class<HsaInterface> _tempClass = (Class<HsaInterface>) Class.forName(hsaClass); 

// Gets the constructor instance and turns on the accessible flag 
Constructor ctor = _tempClass.getDeclaredConstructor(String.class); 
ctor.setAccessible(true); 

// Appends constructor parameters 
HsaInterface hsaAdapter = ctor.newInstance("parameter"); 

hsaAdapter.executeRequestTxn(txnData); 
関連する問題