如果
class MyClass {
public static void main(String[] str) {
System.out.println("hello world");
}
}
// in some other file and method
Class klass = Class.forName("MyClass");
如何拨打MyClass.main
?我在编译时没有字符串“MyClass”,因此我不能简单地调用MyClass.main(String[]{})
。
答案 0 :(得分:36)
您使用reflection来调用方法(或创建对象等)。以下是在main()
中调用MyClass
方法的示例。您需要确保MyClass
在类路径中。
Class<?> cls = Class.forName("MyClass");
Method m = cls.getMethod("main", String[].class);
String[] params = null;
m.invoke(null, (Object) params);
答案 1 :(得分:-6)
如果您在编译时没有“MyClass”字符串,那么您需要查找它,框架用于执行此操作的常用方法: