首先,这里的 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是决定调用对应构造器类对应的规则方法的。