黑马程序员技术交流社区

标题: 反射教程中,传递的参数不是很理解...[已解决] [打印本页]

作者: 王金科    时间: 2012-8-26 17:40
标题: 反射教程中,传递的参数不是很理解...[已解决]
本帖最后由 王金科 于 2012-8-27 11:34 编辑
  1. import java.lang.reflect.InvocationTargetException;
  2. import java.lang.reflect.Method;

  3. public class Test {

  4.         /**
  5.          * @param args
  6.          * @throws ClassNotFoundException
  7.          * @throws SecurityException
  8.          * @throws NoSuchMethodException
  9.          * @throws InvocationTargetException
  10.          * @throws IllegalArgumentException
  11.          * @throws IllegalAccessException
  12.          */
  13.         public static void main(String[] args) throws NoSuchMethodException, SecurityException, ClassNotFoundException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
  14.                 // TODO Auto-generated method stub

  15.                 //调用一个类中的main方法
  16.                 //TestArguments.main(new String[]{"111","222","333"});
  17.                 String startingName = args[0];
  18.                 Method mainMethod = Class.forName(startingName).getMethod("main", String[].class);
  19.                 //mainMethod.invoke(null, new Object[]{new String[]{"111","222","333"}});
  20.                 mainMethod.invoke(null, (Object)(new String[]{"111","222","333"}));
  21.         }
  22. }

  23. class TestArguments{
  24.         public static void main(String[] args){
  25.                 for(String arg : args){
  26.                         System.out.println(arg);
  27.                 }
  28.         }
  29. }
复制代码
以上是代码,运行eclipse要这样设置


程序是怎么解析这个参数的?


作者: 杨震    时间: 2012-8-26 18:51
这里传递的参数会保存在main函数里面的args字符串数组中,每个传递的参数作为args字符串数组的一个元素
作者: 唐杨老师    时间: 2012-8-26 18:55
  1.         public static void main(String[] args){

  2.                 for(String arg : args){

  3.                         System.out.println(arg);

  4.                 }

  5.         }
复制代码
循环打印每一个参数,TestArguments 就是args[0]
要是后边还有的话,就分别为args[1],args[2]***
作者: 王金科    时间: 2012-8-27 11:34
唐杨 发表于 2012-8-26 18:55
循环打印每一个参数,TestArguments 就是args[0]
要是后边还有的话,就分别为args[1],args[2]*** ...

原来如此,明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2