我必须动态创建一个类,但是我想使用类构造函数传递参数。

目前我的代码看起来像

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

如何使用参数调用构造函数?

最佳答案

您已经接近,getDeclaredConstructor()返回您应该使用的Constructor对象。另外,您需要将String对象传递给该newInstance()Constructor方法。

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

07-28 14:13