动态代理

2017-02-21  本文已影响0人  8dc010427b39

动态代理它可以直接给某一个目标对象生成一个代理对象,而不需要代理类存在。动态代理与代理模式原理是一样的,只是它没有具体的代理类,直接通过反射生成了一个代理对象。

KindWoman

public interface KindWoman {

public void throwEye();

public void doSomething();

}


PJL

public class PJL implements KindWoman{

public void throwEye() {

System.out.println("PJL抛媚眼");

}

public void doSomething() {

// TODO Auto-generated method stub

System.out.println("PJL...");

}

}


XMQ

final KindWoman kw = new PJL();

//生成动态代理类

KindWoman proxy = (KindWoman) Proxy.newProxyInstance(kw.getClass()

.getClassLoader(), kw.getClass().getInterfaces(),

new InvocationHandler() {

public Object invoke(Object proxy, Method method,

Object[] args) throws Throwable {

return method.invoke(kw, null);

}

});

proxy.throwEye();

proxy.doSomething();



上一篇下一篇

猜你喜欢

热点阅读