黑马程序员技术交流社区

标题: 对接收数组参数的成员方法进行反射 [打印本页]

作者: hurryup    时间: 2013-11-21 23:37
标题: 对接收数组参数的成员方法进行反射
1.张老师在讲到用反射的方法去调用一个类中main方法时,我有点不明白,用类.main(参数)就行了啊,为什么要用反射的方式进行调用?
2.我发现用反射调用某个类的main方法时,没有给出目标类的名字,是如何做到的?如何关联的?
public class ReflectTest
{
        public static void main(String[] args)
        {
                //普通方式调用main方法
                //TestArguments.main(new String[]{"111","222","333"});
                String startingClassName=args[0];
                Method mainMethod=Class.forName(startingClassName).getMethod("main",String[].class);
                //mainMethod.invoke(null,new String[]{"111","222","333"});//运行时报错,参数个数不对,原因见上面问题
                mainMethod.invoke(null,new Object[](new String[]{"111","222","333"}));
        }
}
作者: 零下五度的水    时间: 2013-11-22 01:17
1.反射调用可以通过传参实现,可以做成框架
    普通方式只能实现调用指定类的main, 换一个类就要重写一次方法
2.他明显是通过public static void main(String[] args)的参数传参的啊
    cmd是在编译的时候添加参数,eclipse是在运行的时候有个传参界面,视频里有吧




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