您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页设计模式—动态代理

设计模式—动态代理

来源:五一七教育网

方式一: 静态代理,通过某静态方法,返回类对象

public class mediation  {
    //聚合调用
    private static bus bus=new bus();

    public  static void fing() {
       System.out.println("其他逻辑");
       bus.fing();
    }

 JDK代理

//提供一接口
public interface in {
    void fing();
}

//实现类
public class bus implements in{

    @Override
    public void fing() {
        System.out.println("提供。。。");
    }
}

JDK代理类

DK动态代理
需要实现类对应的接口
 */

public class jdk  {
//初始化需要代理类对象
    private bus bus=new bus();
//多态
   public in geyin(Object i){
       //类加载器
       //实现类的接口的字节码对象
       //处理程序
       //是一个工厂类Proxy
      in in=(in)Proxy.newProxyInstance(i.getClass().getClassLoader(),i.getClass().getInterfaces()
new InvocationHandler() {
          @Override
          //     proxy:代表动态代理对象
          //     * method:代表正在执行的方法
          //  * args:代表调用目标方法时传入的实参
         public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
              System.out.println("代理类实现");
             return  method.invoke(i, args);

          }
      });

       return in;
   }

 

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务