使用多个参数从MyClass.class创建实例

时间:2015-07-05 00:57:30

标签: java object constructor instantiation

我想创建一个Item.class实例。它需要两个对象作为构造函数参数。

First FirstObject = new First();
Second SecondObject = new Second();

 Class[] constructorArgs = new Class[]{First.class,Second.class};

 Item.class.getConstructor(constructorArgs).newInstance(FirstObject, SecondObject);

这似乎不起作用。我收到一个编译错误:

unhandled exception Java.Lang.NoSuchMethodException

如何解决?

1 个答案:

答案 0 :(得分:2)

NoSuchMethodException是一个已检查的异常,因此您需要将getConstructor()调用包装在try-catch块中,或者声明此代码为throws此异常的方法。

try {
    Item.class.getConstructor(constructorArgs).newInstance(FirstObject, SecondObject);
} catch (NoSuchMethodException e) {
  // log the error
  e.printStackTrace();
}