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"}));
}
} |