在java中给出一个类对象调用静态方法 [英] call static method given a class object in java
本文介绍了在java中给出一个类对象调用静态方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果
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 [] {})
。
How can I call MyClass.main
? I do not have the string "MyClass" at compile time, so I cannot simply call MyClass.main(String[]{})
.
推荐答案
您使用反射调用方法(或创建对象等)。下面是在 MyClass
中调用 main()
方法的示例。所有你需要确保的是 MyClass
在类路径中。
You use reflection to invoke methods (or create objects etc). Below is a sample to invoke main()
method in MyClass
. All you need to make sure is that MyClass
is in the classpath.
Class<?> cls = Class.forName("MyClass");
Method m = cls.getMethod("main", String[].class);
String[] params = null;
m.invoke(null, (Object) params);
这篇关于在java中给出一个类对象调用静态方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文