动态代理
Posted 海东青Lo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态代理相关的知识,希望对你有一定的参考价值。
动态代理是在实现阶段不用关心代理谁,而在运行阶段蔡指定代理哪一个对象。
动态代理类:
public class GamePlayIH implements InvocationHandler{
Class cls=null;
Object obj=null;
public GamePlayIH(Object _obj){
this.obj=_obj;
}
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable{
Object result=method.invoke(this.obj,args);
return result;
}
}
场景类:
pubilc class Client{
public static void main(String[] args) throws Throwable{
IGamePlayer player=new PlayerCoCo();
InvocationHandler handler=new GamePlayerIH(player);
ClassLoader cl =player.getClass().getClassLoader();
IGamePlayer proxy=(IGamePlayer)Proxy.newProxyInstance(cl,new Class[]{IGamePlayer.class},handler);
proxy.login("zhangsan","pwd");
}
}
以上是关于动态代理的主要内容,如果未能解决你的问题,请参考以下文章
设计模式 结构型模式 -- 代理模式(动态代理(JDK动态代理(JDK动态代理要求必须定义接口,对接口进行代理。)动态代理原理(使用arthas-boot.jar查看代理类的结构)动态代理的作用)(代