Java中反射 通过有参构造 实例化对象的疑问(如图)

图片说明

首先,这里的 cons[0] 是个对象,public final class Constructor extends Executable,,,这个类的对象,,

既然是对象那么它就可以调用方法,,

只不过这个类比较特殊,,是构造类,,和构造方法两码事,
构造类( Constructor)只是为反射提供,各种功能的一个类,,其中就有 newInstance()方法

这就是构造类中的方法:

     public T newInstance(Object ... initargs)

如果能帮到你,,,给个采纳 ^.^

cons[0]是个构造器对象,而不是构造方法,这个构造器的构造方法是 newInstance(),
之所以是由两个参数,完全是你你的获得构造器的时候确立了是哪个类的构造方法。
所以你调用newInstance 在强制转换下 就是你要的类对象了。
楼主图片上的理解是错的!!!!

cons首先它是一个数组,里面元素是各构造器类,newInstance(参数)通过这个方法来获得一个构造器对象,并通过参数个数来确定是哪个构造方法。

get Constructors()获取的是当前Class描述的类的所有构造器类
Constructor类是对构造器的抽取,跟Method类描述的是方法一样。而newInstance是决定调用对应构造器类对应的规则方法的。