java - 使用反射调用静态方法

标签 java reflection static

我想调用静态的 main 方法。我得到了 Class 类型的对象,但我无法创建该类的实例,也无法调用 static 方法 main.

最佳答案

// String.class here is the parameter type, that might not be the case with you
Method method = clazz.getMethod("methodName", String.class);
Object o = method.invoke(null, "whatever");

如果方法是私有(private)的,请使用 getDeclaredMethod() 而不是 getMethod()。并在方法对象上调用 setAccessible(true)

关于java - 使用反射调用静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2467544/

相关文章:

java - Quartz - 改变当前时间的确定方式?

java - getSession() 总是创建一个新 session

java - 评级栏不可点击

java - 调用爷爷方法

c# - 以静态方式通过反射调用非静态方法

Java/Kotlin - 区分不同模块中的相同限定名称

javascript - C 中 JavaScript 的等效 call() apply() 是什么?

c++ - 当一个结构有 c-tor 时,为什么我不能静态初始化它?

c++ - 如何从成员函数中设置类静态数据成员的值?

python - 为什么 Python 类不能识别静态变量