精华内容
参与话题
问答
  • 静态代理

    2020-11-23 11:15:49
    静态代理 静态代理要求: 代理对象要和真实对象实现同一个接口 代理对象要代理真实对象 好处: 代理对象可以做很多真实对象做不了的事情 真实对象专注做自己的事情 public class StaticProxy { public ...

    静态代理

    静态代理要求:

    • 代理对象要和真实对象实现同一个接口

    • 代理对象要代理真实对象

    好处:

    • 代理对象可以做很多真实对象做不了的事情
    • 真实对象专注做自己的事情
    public class StaticProxy {
        public static void main(String[] args) {
            new WeddingCompany(new Person()).happyMarry();
            // 线程代理与婚庆公司代理类似,也是一种静态代理,Thread实现了Runnable接口,传入的对象也要求实现Runnable接口
            new Thread(new Runnable() {
                @Override
                public void run() {
                    System.out.println("我爱你");
                }
            }).start();
        }
    }
    
    interface Marry{
        // 人间四大喜事————久旱逢甘露、他乡遇故知、洞房花烛夜、金榜提名时
        void happyMarry();
    }
    
    // 真实结婚角色
    class Person implements Marry{
    
        @Override
        public void happyMarry() {
            System.out.println("要结婚了,超开心!");
        }
    }
    
    // 婚庆公司,代理结婚事务
    class WeddingCompany implements Marry{
        private Marry target;
        public WeddingCompany(Marry target){
            this.target = target;
        }
    
    
        @Override
        public void happyMarry() {
            before();
            target.happyMarry();
            after();
        }
    
        private void before() {
            System.out.println("结婚之前,布置现场");
        }
    
        private void after() {
            System.out.println("结婚之后,收尾款");
        }
    }
    
    展开全文

空空如也

1 2 3 4 5 ... 20
收藏数 20,002
精华内容 8,000
关键字:

静态代理