课程
/后端开发
/Java
/反射——Java高级开发必须懂的
为什么invoke的时候需要把a1对象入参,m1不就是通过a1.getClass()得到的么?
2016-10-21
源自:反射——Java高级开发必须懂的 5-1
正在回答
这样想一下,就明白了,如果你不把对象a1传入,那么到底是哪个对象来操作方法呢!
像 a1 这样的对象可以new 出很多,比如a2,a3................: 他们在堆内存中是不同的对象!
当然来区分对象!,可以就可以明确那个对象 是 a1 还是其他对象来操作方法了
EverL 提问者
可是如果我已经有类的对象,又知道方法名,又知道对应的参数,还要反射来干什么?
m1是通过c.getMethod得到的,这时候c已经是类类型了,而a1是类的实例
举报
反射,Java高级开发必须要懂的知识点,学好Java高级课程的基础
1 回答m2.invoke(a1)
1 回答方法的反射a1
3 回答为什么c1 or c2 or c3不是要实例两下才能得到Foo类的对象?
1 回答为什么使用newInstantce()创建新对象时,需要强制类型转换?
3 回答为什么传入参数就报错了