java自我总结

动态代理:

动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实,
代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是
延迟实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户
隐藏了实际对象,客户不知道它是与代理打交道还是与实际对象打交道。


动态代理 其实就是给实际对象类包装了一层, 在调用实际对象方法接口前后增加自己需要的一些功能。

    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        //在转调具体目标对象之前,可以执行一些功能处理
        System.out.println("转调之前");
        //转调具体目标对象的方法
        Object obj = method.invoke(proxied, args);
        //在转调具体目标对象之后,可以执行一些功能处理
        System.out.println("转调之后");
        return obj;
    }

   


你可能感兴趣的:(java自我总结)