打字猴:1.700460931e+09
1700460931
1700460932 System.out.println(“结束时间是:2009-8-26 03:40”);
1700460933
1700460934 }
1700460935
1700460936 }
1700460937
1700460938 很奇怪是吗?不要着急,继续看下去。其运行结果如下:
1700460939
1700460940 开始时间是:2009-8-25 10:45
1700460941
1700460942 登录名为zhangSan的用户张三登录成功!
1700460943
1700460944 张三在打怪!
1700460945
1700460946 张三又升了一级!
1700460947
1700460948 结束时间是:2009-8-26 03:40
1700460949
1700460950 我们还是让代练者帮我们打游戏,但是我们既没有创建代理类,也没有实现IGamePlayer接口,这就是动态代理。别急,动态代理可不仅仅就这么多内容,还有更重要的,如果想让游戏登录后发一个信息给我们,防止账号被人盗用嘛,该怎么处理?直接修改被代理类GamePlayer?这不是一个好办法,好办法如代码清单12-24所示。
1700460951
1700460952 代码清单12-24 修正后的动态代理
1700460953
1700460954 public class GamePlayIH implements InvocationHandler{
1700460955
1700460956 //被代理者
1700460957
1700460958 Class cls=null;
1700460959
1700460960 //被代理的实例
1700460961
1700460962 Object obj=null;
1700460963
1700460964 //我要代理谁
1700460965
1700460966 public GamePlayIH(Object_obj){
1700460967
1700460968 this.obj=_obj;
1700460969
1700460970 }
1700460971
1700460972 //调用被代理的方法
1700460973
1700460974 public Object invoke(Object proxy,Method method,Object[]args)
1700460975
1700460976 throws Throwable{
1700460977
1700460978 Object result=method.invoke(this.obj,args);
1700460979
1700460980 //如果是登录方法,则发送信息
[ 上一页 ]  [ :1.700460931e+09 ]  [ 下一页 ]