其他分享
首页 > 其他分享> > 静态代理

静态代理

作者:互联网

静态代理

  

就好比自己要结婚,你可以找一个婚庆公司帮你处理结婚的事情

总结

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

  代理对象要代理真实角色

     好处:代理对象可以做很多真实对象做不了的事情,真实对象专注做自己的事情

**
 * 结婚接口
 */
public interface Marry {

    //结婚
    public void HappyMarry();
}
import com.multithreading.interfaeces.Marry;

/**
 * 真实角色,你去结婚
 */
public class YouImp implements Marry {

    @Override
    public void HappyMarry() {

        System.out.println("你要结婚了,很开心");
    }
}
import com.multithreading.interfaeces.Marry;

/**
 * 代理角色,帮你结婚
 */
public class WeddingCompanyImp implements Marry {

    //代理谁 --> 真实目标角色
    private Marry target;

    public WeddingCompanyImp(Marry target) {
        this.target = target;
    }

    @Override
    public void HappyMarry() {

        before();
        this.target.HappyMarry();   //这就是真实对象
        after();
    }

    private void after() {
        System.out.println("结婚之后收尾款");
    }

    private void before() {
        System.out.println("结婚之前布置婚礼");
    }
}
import com.multithreading.interfacesImp.WeddingCompanyImp;
import com.multithreading.interfacesImp.YouImp;

public class StaticProxy {

    public static void main(String[] args) {

        new Thread(()-> System.out.println("我爱你")).start();         //这里的Thread相当于WeddingCompanyImp一样静态代理实现,Thread静态代理Runnable,都有run()方法

        new WeddingCompanyImp(new YouImp()).HappyMarry();
    }
}

 

标签:WeddingCompanyImp,静态,Marry,代理,public,HappyMarry,void
来源: https://www.cnblogs.com/lj888/p/15905159.html