静态代理

真实对象和代理对象都要实现同一个接口,然后将真实对象传入代理对象的类,使代理对象代理真实角色,在方法实现时只需要调用代理对象的方法。

package com.staticproxy;
//静态代理
//真实对象和代理对象都要实现同一个接口
//代理对象要代理真实角色,
public class StaticProxy {
    public static void main(String[] args){
//        创建代理对象类的同时传入真实对象
        wedding weddingcompany=new wedding(new you());
        weddingcompany.HappyMarry();
    }

}
interface Marry{
    void HappyMarry();
}
//真实角色
class you implements Marry{
    @Override
    public void HappyMarry() {
        System.out.println("marry");
    }
}
//代理角色
class wedding implements Marry{
    private Marry target;//真实对象
    public wedding(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("结婚前布置现场");
    }
}

 

posted on 2023-02-28 11:46  啥123  阅读(18)  评论(0编辑  收藏  举报