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

为什么invoke的时候需要把a1对象入参,m1不就是通过a1.getClass()得到的么?

为什么invoke的时候需要把a1对象入参,m1不就是通过a1.getClass()得到的么?

正在回答

3 回答

这样想一下,就明白了,如果你不把对象a1传入,那么到底是哪个对象来操作方法呢!

像 a1 这样的对象可以new 出很多,比如a2,a3................: 他们在堆内存中是不同的对象!

当然来区分对象!,可以就可以明确那个对象 是 a1 还是其他对象来操作方法了

1 回复 有任何疑惑可以回复我~
#1

EverL 提问者

非常感谢!
2016-11-08 回复 有任何疑惑可以回复我~

可是如果我已经有类的对象,又知道方法名,又知道对应的参数,还要反射来干什么?

0 回复 有任何疑惑可以回复我~

m1是通过c.getMethod得到的,这时候c已经是类类型了,而a1是类的实例

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么invoke的时候需要把a1对象入参,m1不就是通过a1.getClass()得到的么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信