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