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

在第二章jdk动态代理中 要实现多事物的处理处理,测试类要如何编写?

CarSimp car = new CarSimp();

InvocationHandler handlerTime = new TimeHandler(car);

Class classCar = car.getClass();

Moveable mTime = (Moveable) Proxy.newProxyInstance(classCar.getClassLoader(), classCar.getInterfaces(), handlerTime);

mTime.move();

//上面的只是实现了时间的处理  如何也实现 日志处理?

InvocationHandler handlerLog = new LogHandler(handlerTime);

Moveable mLog = (Moveable) Proxy.newProxyInstance(classCar.getClassLoader(),classCar.getInterfaces(),handlerLog);


正在回答

1 回答

mTime是对car的时间代理对象,再生成mLog即mTime的日志代理对象即可。

Car car=new Car();
InvocationHandler timeHandler =new TimeHandler(car);
Moveable m=(Moveable)Proxy.newProxyInstance(car.getClass().getClassLoader(),car.getClass().getInterfaces(),timeHandler);

InvocationHandler logHandler=new LogHandler(m);
Moveable m1=(Moveable)Proxy.newProxyInstance(m.getClass().getClassLoader(),m.getClass().getInterfaces(),logHandler);
m1.move();


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

举报

0/150
提交
取消

在第二章jdk动态代理中 要实现多事物的处理处理,测试类要如何编写?

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