调用构造函数
获取构造函数对象
你可以从 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));