企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 第四章第一节--反射调用构造方法 标签(空格分隔): 廖雪峰 --- 通过Class.newInstance()只能调用public无参数构造方法. 如果需要获取其他的带参数的构造方法需要采用获取和Class关联的Constructor,其中Constructor包含了一个构造方法的所有信息. ![Constructor获取带参数的构造方法](http://p0b921qfc.bkt.clouddn.com/18-5-18/26057549.jpg) 通过Class实例获取Constructor信息(和继承无关,说的都是当前类): - getConstructor(Class ...):获取某个public的Constructor. - getDeclaredConstructor(Class...)获取某个Constructor. - getConstructors():Class中所有public的Constructor. - getDeclaredConstructors():获取所有的Constructor. 通过setAccessible(true)对非public的构造法方法记性控制,(核心类库可能导致失败). ## 小节小结 - Constructor对象封装了构造方法的所有信息. - 通过Class实例可获取Constructor实例:getConstructor/getDeclaredConstructorgetConstructors/getDeclaredConstructors. - 通过Constructor实例创建一个实例对象:newInstance(Object...parmeters) - 通过设置setAccessible(true)来访问非public构造方法.