调用构造函数

获取构造函数对象

你可以从 Class 对象获取 Constructor 类,如下所示:

Class myClass = ... // get a class object
Constructor[] constructors = myClass.getConstructors();

constructors 变量将为类中声明的每个公共构造函数提供一个 Constructor 实例。

如果你知道要访问的构造函数的精确参数类型,则可以过滤特定的构造函数。下一个示例返回给定类的公共构造函数,该构造函数将 Integer 作为参数:

Class myClass = ... // get a class object
Constructor constructor = myClass.getConstructor(new Class[]{Integer.class});

如果没有构造函数匹配给定的构造函数参数,则抛出 NoSuchMethodException

使用构造函数对象的新实例

Class myClass = MyObj.class // get a class object
Constructor constructor = myClass.getConstructor(Integer.class);
MyObj myObj = (MyObj) constructor.newInstance(Integer.valueOf(123));