getConstructor
public Constructor<T> getConstructor(Class<?>... parameterTypes)
throws NoSuchMethodException,
SecurityException返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。
getDeclaredConstructor
public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)
throws NoSuchMethodException,
SecurityException返回一个 Constructor 对象,该对象反映此 Class 对象所表示的类或接口的指定构造方法。
正如如你所说,其实不加public,默认,Fanshe类中是可以创建Person实例的。
之所以出错,原因在于getConstructor是要得到public的构造函数。所以二楼使用的getDeclaredConstructor就可以不用加public。 |