黑马程序员技术交流社区

标题: 用反射调用方法问题 [打印本页]

作者: 菠萝鱼    时间: 2014-2-19 11:25
标题: 用反射调用方法问题
Method method = List.Class().getMethod("add", Object.class);
这句话意思是 利用反射得到List中的add方法,类型是Method。
method.invoke(object, "参数");
用这个method执行add方法,object:是不是代表这个含有这个方法的实例对象,意思就是method调用这个实例对象的add方法,如果此方法是静态的,就不需要这个实例对象了?

作者: 一年_Hei    时间: 2014-2-19 12:07
嗯,楼主说的是对的,不过楼主说的词不准,method是方法的实例对象。不是类型。object.class是这个add方法接收的参数类型
作者: 菠萝鱼    时间: 2014-2-20 10:16
谢谢。。。
作者: 白_蓝(八公)    时间: 2014-2-20 11:17
method.invoke(object, "参数");括号中告诉我们object是方法名,而对应的参数是方法中要加入的!而你调用的是list的方法。所以是代表含有这个方法的实例对象!而如果是静态的当然就不需要实例对象了,可以戒指调用了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2