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

来源:5-1 Java 方法反射的基本操作

EverL

2016-10-21 17:25

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

写回答 关注

3回答

  • leowei
    2016-11-05 15:34:56
    已采纳

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

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

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

    EverL

    非常感谢!

    2016-11-08 09:56:35

    共 1 条回复 >

  • qq_你的人_2
    2018-11-26 11:32:13

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

  • heihei210
    2016-10-21 18:01:58

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

反射——Java高级开发必须懂的

反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础

151466 学习 · 335 问题

查看课程

相似问题