黑马程序员技术交流社区

标题: 对接收数组参数的成员方法进行反射视频中的一点疑问 [打印本页]

作者: 李贺晓    时间: 2012-12-27 21:05
标题: 对接收数组参数的成员方法进行反射视频中的一点疑问
class Test
{
      public static void main(String[] args)
         {
               for(String arg:args)
                   {
                       System.out.println(arg);
                    }
          }
}
class ReflectTest {
        public static void main(String[] args)
        {
                String startingClassName=arg[0];//这里的这个args[0]是从哪里得来的?是ReflectTest类中的args[]中得来的,还是从Test类中的args[]中得来的。
                Method mainMethod=Class.forName(startingClassName).getMethod("main", String[].class);
                mainMethod.invoke(null, new Object[]{new String[]{"111","222","2344"}});
        }
}


作者: 陈丽莉    时间: 2012-12-28 01:08
ReflectTest类中的语句,并没调用其他类,所以是ReflectTest定义的args[]的第一个字符。(注释有问题的那一行是不是少写了一个s,args[0])
作者: 李贺晓    时间: 2012-12-28 09:48
陈丽莉 发表于 2012-12-28 01:08
ReflectTest类中的语句,并没调用其他类,所以是ReflectTest定义的args[]的第一个字符。(注释有问题的那一 ...

没有少写,就是这样的。。
前面是没想明白,后来想明白了,是在运行的时候ReflectTest设置默认值了;那个arg[0]就是设置的那个默认值的




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