【发布时间】:2013-01-11 11:49:54
【问题描述】:
我有以下代码可用于为由InvocationHandler 实现支持的接口类型创建代理实例,但是当我使用具体的类类型时它不起作用,这是众所周知的并记录在@987654321 @:
// NOTE: does not work because SomeConcreteClass is not an interface type
final ClassLoader myClassLoader = SomeConcreteClass.getClassLoader();
SomeConcreteClass myProxy = (SomeConcreteClass) Proxy.newProxyInstance(myClassLoader, new Class[] {
SomeConcreteClass.class }, new InvocationHandler() { /* TODO */ });
但是,如果我没记错的话,我已经在一些模拟框架中看到了这个用例,在这些框架中可以模拟一个具体的类类型,例如EasyMock。在检查他们的源代码之前,任何人都可以指出需要做什么来代理具体的类类型,而不仅仅是接口?
【问题讨论】:
标签: java easymock proxy-classes