黑马程序员技术交流社区

标题: 反射的问题 [打印本页]

作者: 禾呈    时间: 2013-7-18 15:51
标题: 反射的问题
本帖最后由 禾呈 于 2013-7-18 17:47 编辑

如何用反射获取一个类中的方法,并执行它,这个方法的参数是 数组,或者集合


Method method1=cls.getMethod("方法名",参数类型);//如果此方法的参数是数组,那么参数类型应该填写啥
        
method1.invoke(对象,参数);//如果获取此方法,此处传递参数的时候又该传递啥?
        





作者: crazy_primitive    时间: 2013-7-18 16:54
类型参数都是字节码,就是 对象名.class
作者: 梦想蓝色天空    时间: 2013-7-18 17:42
传的参数示例
Method method1=cls.getMethod("方法名",参数类型);//如果此方法的参数是数组,那么参数类型可以是Object[].class 或int[].class
        
method1.invoke(对象,参数);//如果获取此方法,此处传递参数的可以是   new Object[] { new String[] {"aaaaaaaa", "ccc" } } 或m.invoke(Demo1.class.newInstance(), (Object) new String[] { "aaaaaaaa","ccc" });
作者: 禾呈    时间: 2013-7-18 17:49
梦想蓝色天空 发表于 2013-7-18 17:42
传的参数示例
Method method1=cls.getMethod("方法名",参数类型);//如果此方法的参数是数组,那么参数类型 ...

试了一下  成功了
作者: 杨兴庭    时间: 2013-7-18 17:49
crazy_primitive 发表于 2013-7-18 16:54
类型参数都是字节码,就是 对象名.class

貌似是,,对象.getclass()吧。。。




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