黑马程序员技术交流社区
标题:
一个反射问题
[打印本页]
作者:
麦子609
时间:
2013-9-15 23:40
标题:
一个反射问题
学习main方法的反射问题时,测试结果多了一个null是怎么回事
//测试类
class TestArguments{
public static void main(String args[]){
for(String arg : args){
System.out.println(arg);
}
}
}
//测试代码
String startingClassName = args[0];
Method mainMethod = Class.forName(startingClassName).getMethod("main", String[].class);
System.out.println(mainMethod.invoke(null, (Object)new String[]{"abc","def","fhi"}));
复制代码
作者:
straw
时间:
2013-9-16 02:26
多输出一个null,其实这个null并不是main函数里的参数的值,而是invoke()方法的返回值.默认情况下invoke()方法返回Object,如果在invoke()方法执行对应的方法有返回值时就返回想要的结果,如果被执行方法没有返回值(如main()方法),那么invoke就返回null.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2