为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

InvocationHandler invocationHandler2=new LogHandler(moveable);
Class<?> class2 = moveable.getClass();
Moveable moveable2 =(Moveable)Proxy.newProxyInstance(class2.getClassLoader(), class2.getInterfaces(), invocationHandler2);
moveable2.move();

0 回复 有任何疑惑可以回复我~
#1

qq_下个瞬间_03247970 提问者

非常感谢!
2017-11-18 回复 有任何疑惑可以回复我~

我是这么写的

Car car = new Car();

Class carClass = car.getClass();

InvocationHandler timeHandler = new TimeHandler(car);

Moveable proxy = (Moveable) Proxy.newProxyInstance(carClass.getClassLoader(), 

carClass.getInterfaces(),timeHandler);

InvocationHandler logHandler = new LogHandler(proxy);

Moveable proxy2 =  (Moveable) Proxy.newProxyInstance(proxy.getClass().getClassLoader(),

proxy.getClass().getInterfaces(), logHandler);

proxy2.move();


2 回复 有任何疑惑可以回复我~

不能同时实现对时间的代理和对日志的代理吗?使得输出结果和静态聚合代理一样的。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
模式的秘密---代理模式
  • 参与学习       54912    人
  • 解答问题       98    个

本节课程将带你领略Java编程语言中代理模式的奥妙

进入课程

作业怎么做啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信