你可以通过反射代表另一个类的调用方法(Can you invoke a method via ref

2019-10-19 14:54发布

我有一个使用Util.class来调用target.class的方法client.class。 调用通过调用setAccessible(真)来target.class的方法强制。

问:有没有一种方法能有这个Util.class确定client.class访问target.class的这种特殊的方法?

我想跳过不必使用方法setAccessible(真)。 client.class访问我在target.class调用方法,但由于该方法是受保护或默认Util.class不能访问。

Answer 1:

你也许能够建立通过检查包,继承链和方法的可访问客户端类是否有访问方法。 看看在MethodModifierSpy在Java教程类 。

但是,即使在客户端类有访问,你的代码Util仍然需要调用setAccessible(true)Util不能访问,反射代码的一部分Util ,而不是客户端类。



文章来源: Can you invoke a method via reflection on behalf of another class