java中,用反射方式调用一个类中的main方法

2025-02-23 10:03:05
推荐回答(3个)
回答1:

Main方法是用static修饰的,有2种方法可以调用

1.类名.main(参数);

2.new创建实例,实例.main(参数);

这个地方注意必须传递字符串数组的参数 或者 null !
另外举一个用反射机制调用Main方法的例子

这个类是被调用的main方法类:
Java代码
public class Run

{

public static void main(String[] args)
{
String str=args[0]+"Hello World";
System.out.println(str);
}

}
下面是调用main方法的类:
Java代码

public class JobRun
{
public static void main(String[] args)
{
String idStr = "YAya";
try
{
Method method = Run.class.getMethod("main", String[].class);
method.invoke(null, (Object) new String[] { idStr });
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

回答2:

java 在反射 main方法的时候 有的个注意的地方那就是参数的 问题 这个问题在我前2年开发项目的使用遇见的 你需要对它的参数进行 处理下 这个是java版本变更带来的问题 也是java5.0版本的 兼容的问题

回答3:

同意楼上的。