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

https://img3.mukewang.com/5b9f5c5c000186b408000464.jpg

月关宝盒
浏览 1046回答 2
2回答

慕姐8265434

这里其实相当于构造方法调用自身来构造一个实例(它本身就是一个方法,当然可以调用自己)

凤凰求蛊

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

相关分类

Java