本帖最后由 HM张健 于 2013-4-22 22:46 编辑
额 最好贴个源码 不过我觉得应该是这里出问题了 Method method = clazz.getMethod("show"); 改成这样Method method = clazz.getMethod("show",String.class,int.class);
你的方法是有参数的 上面那位想说的估计就是这个 我猜你是不是要写成这样- package test;
- import java.lang.reflect.*;
- public class ReflectionTest {
-
- private String name;
- private int age;
- public ReflectionTest() {
- // TODO Auto-generated constructor stub
- }
- public void show(String name,int age){
-
- this.name = name;
- this.age = age;
- System.out.println(name);
- System.out.println(age);
- }
- public static void main(String[] args) throws Exception{
- // TODO Auto-generated method stub
- new ReflectionTest().show("张三",20);
- Class cl = ReflectionTest.class;
- Method m = cl.getMethod("show",String.class,int.class);
- Object obj = cl.newInstance();
- m.invoke(obj, "李四",30);
- }
- }
复制代码 |