首先,这不是我想要做的一些正常行动,但是这个边缘案件涉及我无法触及的大量遗留代码,以及需要为更新的东西编写的单元测试。
无论如何,我有一个类,我可以通过反射访问所有字段和方法,除了私有/受保护的静态。那么有没有办法通过反射访问这些私有静态方法?
答案 0 :(得分:7)
Method method = Foo.class.getDeclaredMethod("methodName");
method.setAccessible(true);
Object result = method.invoke(null);
答案 1 :(得分:0)
试试powermock。它是一个测试库,可以完成你在绿地开发中不应该做的各种事情。
答案 2 :(得分:0)
包装那些可以被对象访问的方法。我相信着名的IDE已经为此目的重构工具(类包装器)。