本帖最后由 刘军亭 于 2013-1-18 13:09 编辑
//进行练习反射的类
public class ReflectTest{
public static void main(String[] args){
System.out.println(args[0]);
System.out.println(args[1]);
}
}
//对ReflectTest进行反射
public class ReflectMain{
public static void main(String[] args){
Method methodMain = ReflectTest.class.getMethod("main",String[].class);
//写String[]类型的参数不行,因为java5.0的可变参数为了兼容4.0
//会对接收到的参数进行自动拆包的功能,那传进去的就是两个String类型的参数了“111”,“222”
//methodMain.invoke(null,new String[] {"111","222"});
//需要改写如下,给他一个Object[]等接收到以后拆包就是一个String[]类型的参数
methodMain.invok(null,new Object[]{new String[] {"111","222"}});
//但是下边的这句话不怎么理解,为什么这样也行
methodMain。invoke(null,(Object)new String[]{"111","222"});
}
}
|
|