Java反射——调用构造方法
- 获得某个public的构造方法:
getConstructor(Class...)
- 获得某个Constructor:
getDeclaredConstructor(Class...)
- 获得所有public的constructor:
getConstructors()
- 获取所有constructor
getDeclaredConstructors()
Class.newInstance()有个局限是只能调用该类的
public
无参数
构造方法。若构造方法有参数或者不是public就无法使用。
反射API提供的Constructor对象便解决了这样的问题,它包含一个构造方法的所有信息。可通过函数newInstance(Object… parameters)创建一个实例的对象;通过设置setAccessible(true)来方法非public的构造方法。