A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© S.妖妖 初级黑马   /  2019-6-21 13:57  /  823 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

动态代理:

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

应用场景:主要是针对在运行中的程序,比如三方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课件\截图

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马