如何使用反射(Java)调用私有静态方法?

我想调用一个私有静态方法。我有名字 我听说可以使用Java反射机制来完成。我该怎么做?

我在尝试调用该方法时遇到的一个问题是如何指定其参数的类型。我的方法收到一个参数,其类型为Map。因此,我不能这样做Map<User,

String>.TYPE(在运行时,由于Java Type擦除,没有Map这样的东西)。是否有另一种方法来获得该方法?

回答:

假设您要调用MyClass.myMethod(int x);

Method m = MyClass.class.getDeclaredMethod("myMethod", Integer.TYPE);

m.setAccessible(true); //if security settings allow this

Object o = m.invoke(null, 23); //use null if the method is static

以上是 如何使用反射(Java)调用私有静态方法? 的全部内容, 来源链接: utcz.com/qa/426296.html

回到顶部