Java使用反射调用类的main()方法

我需要使用反射从另一个主要方法调用Java类的主要方法。

必须使用反射,以消除被调用主类的编译时依赖性。直截了当的方法并没有产生效果,因为它只识别“公共”和“非静态”方法。有什么建议吗?

回答:

不应比调用任何其他函数更复杂:

public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {

Class<?> cls = Class.forName("pkg1.pkg2.classname");

Method meth = cls.getMethod("main", String[].class);

String[] params = null; // init params accordingly

meth.invoke(null, (Object) params); // static method doesn't have an instance

}

但是我真的看不到有什么用途,只要您不使用特定的代码路径,就可以买到该程序,而无需链接另一个程序,这是它唯一能为您带来的好处,但是如果这是您需要的,在这里走

;)

以上是 Java使用反射调用类的main()方法 的全部内容, 来源链接: utcz.com/qa/397354.html

回到顶部