黑马程序员技术交流社区
标题:
关于反射一个类的main方法遇到的问题
[打印本页]
作者:
zhouxp3323
时间:
2012-4-12 11:20
标题:
关于反射一个类的main方法遇到的问题
public class Person4 {
public static void main(String[] args) throws Exception{
String s = "abcde";
char ch = s.charAt(2);
System.out.println(ch);
String className = args[0];
Method mainMethod = Class.forName(className).getMethod("main", String[].class);
mainMethod.invoke(null, new String[]{"abc","bcd","efg"}); //这行运行为什么会出错??
}
}
}
class Starting{
public static void main(String[] args){
for(String arg:args){
System.out.println(arg);
}
}
}
我注释的那行代码,为什么运行的时候会出错啊,我用mainMethod激活这个类的main方法,传递了一个String类型的数组对象,运行的时候怎么会报错呢,编译的时候还没有什么问题,说传递的参数不对?
作者:
翟友伟
时间:
2012-4-12 11:32
new String[]{"abc","bcd","efg"})
默认为传了 三个 进来
要打包成一个 进来 就没问题了 (Object )new String[]{"abc","bcd","efg"})
作者:
翟友伟
时间:
2012-4-12 11:34
张老师视频中 特意提到过
main方法 参数是需要一个String数组,
jdk中接收到之后将数组拆开之后再分别作为参数传递给main
既然它拆包我们就再包一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2