首先,这不是我想要做的一些正常的操作,但是这个附带案例涉及到大量遗留代码,我不能触及,需要编写的单元测试用于新的东西。你能反映一个私有静态方法在Java中
无论如何,我有一个类,我可以通过反射访问所有的字段和方法,除了私人/保护静态的。那么有没有办法通过反射来访问这些私有静态方法?
首先,这不是我想要做的一些正常的操作,但是这个附带案例涉及到大量遗留代码,我不能触及,需要编写的单元测试用于新的东西。你能反映一个私有静态方法在Java中
无论如何,我有一个类,我可以通过反射访问所有的字段和方法,除了私人/保护静态的。那么有没有办法通过反射来访问这些私有静态方法?
Method method = Foo.class.getDeclaredMethod("methodName");
method.setAccessible(true);
Object result = method.invoke(null);
尝试powermock。这是一个测试库,可以做各种你不应该在绿地开发中的东西。
包装那些可以被对象访问的方法。我相信着名的IDE已经为此目的而重构了工具(类包装)。
哇,搜索了几个小时后,我从来不知道class.getMethod()和class.getDeclaredMethod()之间有区别...干杯 – Grofit 2010-10-15 08:42:22