动态代理作业

来源:2-3 了解 JDK 动态代理

小政政

2015-08-27 12:32

谁把作业做出来??我不会做啊,先实现日志再实现时间

写回答 关注

1回答

  • qq_微微笑_4
    2016-01-26 13:58:42
    interface Moveable
    calss Car implements Moveable;
    
    TimeHandler implements InvocationHandler;
    LogHandler implements InvocationHandler;
    
    public class Main{
        public static void main(String[] args){
            Car car = new Car();
            //初始化时间控制器
            InvocationHandler timeHandler = new TimeHandler(car);
            //获取时间代理对象
            Moveable mv = (Moveable)Proxy.newProxyInstance(car.getClass().getClassLoader(), car.getClass().getInterfaces(),timeHandler);
            //将时间代理对象再次代理
            InvocationHandler logHandler = new LogHandler(mv);
            mv = (Moveable)Proxy.newProxyInstance(car.getClass().getClassLoader(), car.getClass().getInterfaces(), logHandler);
            
            //代理对象调用方法
            
            mv.run();
        }
    }

    这里主要帮你写了测试类,其他都是伪代码,自己应该会做。有什么问题可以一起交流,我也是网上浏览别人实现的。 共勉!

模式的秘密---代理模式

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

54906 学习 · 134 问题

查看课程

相似问题