有一个类使用委托模式返回结果。
class A {
interface ICallback {
callback(String data);
}
void doSomeAction(ICallback cb) {
//some manipuation
if(cb != null) {
cb.callback(response);
}
}
}
这里的问题是A类在库项目中,并且库可能不会附加到主项目。因此,A类的负载和doSomeAction的调用应该用反射来实现。但是应该如何进行回调呢? 我读到了Proxy,但我仍然无法理解是否有可能用Porxy解决它。或者这种情况还有其他解决方案吗?
我尝试使用代理:
Class<?> clazz = Class.forName("com.aa.bb.cc.dd.A$ICallback");
Class<?>[] interfaces = new Class[] { clazz};
Object proxy = Proxy.newProxyInstance(clazz.getClassLoader(), interfaces, handler);
在最后一行我开始调用&#34; com.sun.jdi.InvocationException调用方法&#34;错误。