为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

月关宝盒 2018-09-11 09:21:38
查看完整描述

2 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

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

查看完整回答
反对 回复 2018-09-17
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

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

查看完整回答
反对 回复 2018-09-17
  • 2 回答
  • 0 关注
  • 1045 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信