/**
* 静态代理
*
* 1.真实角色
* 2.代理角色
*
* 我是结婚得主题,婚庆公司是代理
*
*/
public class StaicProxy {
public static void main(String[] args) {
new WeddingCompany(new You()).happyMary();
}
}
//真实角色
public class You implements Mary {
@Override
public void happyMary() {
System.out.println("结婚了");
}
}
//代理角色
public class WeddingCompany implements Mary {
//真实角色
public Mary target;//面向接口编程
public WeddingCompany(Mary target) {
this.target = target;
}
@Override
public void happyMary() {
ready();
this.target.happyMary();//真实对象进行结婚
after();
}
private void ready(){
System.out.println("准备中");
}
private void after(){
System.out.println("完事了");
}
}
public interface Mary {
void happyMary();
}