import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;public class Client { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RealSubject real=new RealSubject();//真实对象,也就是被代理的类
InvocationHandler dy=new DynamicSubject(real);
Class<?> cl=real.getClass();
//生成代理类
Subject subject=(Subject)Proxy.newProxyInstance(cl.getClassLoader(), cl.getInterfaces(), dy);
subject.request();
}}
我在Proxy.newProxyInstance中传递的第一个参数明明是真实对象,也就是被代理的类的类加载器呀,为啥,我看jdk文档中这样写的呢public static Object newProxyInstance(ClassLoader loader,
Class<?>[] interfaces,
InvocationHandler h)
loader - 定义代理类的类加载器
interfaces - 代理类要实现的接口列表
h - 指派方法调用的调用处理程序
为什么,哪里出问题了?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货