如题,根据方法名利用反射机制调用该方法,但是当该方法有参数,并且参数类型是基本类型比如说int,时如何处理。请举例谢谢

解决方案 »

  1.   

    看看下面的例子.
    详细的说明参见下面的网页.
    http://chenyubo.javaeye.com/blog/552791import java.lang.reflect.Method;public class ReflectTest { public static void main(String[] args) {
    try {
    Class cls = Class.forName("Student"); 
    // 不能使用Integer.class代替int.class
    Method setMethod = cls.getDeclaredMethod("setAge",int.class); 
    setMethod.invoke(cls.newInstance(), 15);
    Method staticMethod = cls.getDeclaredMethod("hi",int.class,String.class); 
    staticMethod.invoke(cls,20,"chb");//这里不需要newInstance 
    // staticMethod.invoke(cls.newInstance(),20,"chb");
    } catch (Exception ex) {
    System.out.println(ex.getMessage());
    ex.printStackTrace();
    }
    }}class Student {
    private int age; private String name; public int getAge() {
    return age;
    } public void setAge(int age) {
    this.age = age;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public static void hi(int age, String name) {
    System.out.println("大家好,我叫" + name + ",今年" + age + "岁");
    }
    }
      

  2.   

    还真的不知道int类型也可以用int。class来得到。谢谢啊