黑马程序员技术交流社区

标题: 动态代理 [打印本页]

作者: S.妖妖    时间: 2019-6-21 13:57
标题: 动态代理
动态代理:

创建一个代理对象的前提:该代理对象与真实对象必须实现同一个接口!(一个真实对象要想被代理必须要实现一个接口)

应用场景:主要是针对在运行中的程序,比如三方jar包或框架中的一些对象,要做代理的操作

代理对象proxy = Proxy.newProxyIntance(
              真实对象.getClass().getClassLoader(),
          真实对象.getClass().getInterfaces(),
          new InvocationHandler(){
            public Object invoke(Object proxy,Method method,Object[] args){
                //调用真实对象的getParameter("name")-->String result  :王尼玛
                //针对result增强返回值的方式 进行改变结果集  替换为王***
                                return result;
             }
});
注意:代理对象创建出来后跟真实对象实现的是同一个接口
proxy.getParamter("name")该方法的返回值其实就是  invoke方法的返回值F:\邮件\视频资料\黑马\就业班资料\day33-38课件\day34课件\截图




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2