黑马程序员技术交流社区
标题:
反射中关于invoke方法的调用 JDK1.5兼容JDK1.4的invoke方法
[打印本页]
作者:
黄锦成
时间:
2012-12-26 11:59
标题:
反射中关于invoke方法的调用 JDK1.5兼容JDK1.4的invoke方法
import java.lang.reflect.Method;
public class MethodTest {
public static void main(String[] args) throws Exception {
//调用某个类中的main方法(某个类),不能确定类
//只有当用户传进类名,才能确定是哪个类中的main方法
String startingClassName = args[0];
//取得类的main方法
Method mainMethod = Class.forName(startingClassName).getMethod("main", String[].class);
//因为是静态方法,所以可以使用null
//因为JDK兼容1.4,所以String数组会被打开,成为三个字符串参数,
//而main方法只是需要一个字符串数组参数,那就就错了
//main方法需要的是String[]类型的参数,所以要加一层包装,
//或者告诉编译器,我这是一个对象,别帮我拆包
//mainMethod.invoke(null,new String[]{"111","222","333"});
mainMethod.invoke(null,new Object[]{new String[]{"111","222","333"}});
mainMethod.invoke(null,(Object)new String[]{"111","222","333"});
}
}
class TestArguments{
public static void main(String[] args) {
for (String arg : args) {
System.out.println(arg);
}
}
}
复制代码
这个听了两次的讲解才明白了
作者:
许庭洲
时间:
2012-12-31 07:17
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2