自我学习记录,仅供参考;
参考文章:原文链接:https://blog.csdn.net/qq_33709582/article/details/113550163
Constructor<?> constructor=class1.getConstructor();可以省略,用class1直接调用newInstance();
Class1调用 newInstance() 会走默认无参构造方法,如果想通过显式构造方法构造实例,需要提前从Class中调用getConstructor()方法获取对应的构造器,通过构造器去实例化对象
即使 studentm已经显式定义了构造方法,通过 newInstance() 创建的实例中,所有属性值都是对应类型的初始值,因为 newInstance() 构造实例会调用默认无参构造器。
。
通过 getConstructor(Object… paramTypes) 方法指定获取指定参数类型的 Constructor, Constructor 调用 newInstance(Object… paramValues) 时传入构造方法参数的值,同样可以构造一个实例,且内部属性已经被赋值。
如果getConstructor()不传入参数也会默认的去调用无参构造函数 不写无参构造会报java.lang.NoSuchMethodException <init>()异常