calss AInvocationHandler implememts InvocationHandler{
private Object target;
public Object bind(Object target){
this.target = target;
return Proxy.newProxyInstance(
target.getClass().getClassLoader(),
target.getClass().getInterfaces,
this);
}
@override
public Object invoke(Object proxy, Method method,Object[] args){
Object result = null;
result = methos.invoke(target,args);
return result;
}
}
A a = new A();
AInvocationHandler handler = new AInvocationHandler();
B proxy = (B)handler.bind(a);
proxy.run();