凤凰求蛊
你说 cons[0] 是一个构造方法,这样说是不正确的。Class 类的 getConstructors() 返回的一个数组,数组中的每个元素(比如你代码中的 cons[0])是用来表示构造方法的 类 的实例 —— cons[0] 是一个类(java.lang.reflect.Constructor)的实例,不是一个方法。类似的,你还可以通过 Class 的 getMethod 获得一个表示方法的类,getField 方法获得一个表示字段的类。所以,cons[0].newInstance(...) 是在 cons[0] 上调用它的 newInstance 方法,这依旧是调用一个类的方法,而不是调用方法的方法。Java 是面向对象的语言,所以思考 Java 的语法的时候,始终要向对象上靠拢。