静态代理

喜欢而已 提交于 2019-12-06 10:58:29

静态代理

静态代理模式:

真实对象和代理对象都要实现同一个接口
代理对象要代理真实角色,代理对象要有参数。
代理对象可以做真实对象做不了的事情,真实对象专注自己的事情

package com.wang.thread;​public class StaticProxyDemo01 {    public static void main(String[] args) {​        new Thread(new Runnable() {//Thread类相当于WeddingCompany代理中间真实对象(Runnable接口)            @Override            public void run() {                System.out.println("i love you");            }}).start();​        new WeddingCompany(new You()).marry();//下面两行代码的简写                       //首先需要有个代理        WeddingCompany weddingCompany=new WeddingCompany(new You());        //调用方法        weddingCompany.marry();    }}interface Marry{    public void marry();}//真实角色class You implements Marry{​    @Override    public void marry() {        System.out.println("要结婚啦");    }}//代理角色class WeddingCompany implements Marry{    //真实目标角色    private Marry target;    public WeddingCompany(Marry target){        this.target=target;    }​    @Override    public void marry() {        before();        //目标对象结婚        this.target.marry();        after();    }    private void before(){        System.out.println("结婚之前布置现场");    }    private void after(){        System.out.println("结婚之后,收尾款");    }​}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!