输出结果
布置猪窝====
you and 嫦娥结婚...
闹玉兔====
package test1;
/**
* 静态代理设计模式
* 1.有真实角色
* 2.有代理角色:持有真实角色的引用
* 3.要求:二者要实现相同的接口
* @author Admin
*
*/
public class StaticProxy {
public static void main(String[] args) {
//create 真实角色
Marry you = new You();
//create 代理角色+真实角色的引用
WeddingCompany co = new WeddingCompany(you);
//执行任务
co.marry();
}
}
//共同的接口 结婚
interface Marry{
public abstract void marry();
}
//真实的角色 你
class You implements Marry{
public void marry() {
System.out.println("you and 嫦娥结婚 ...");
}
}
//代理角色 婚庆公司
class WeddingCompany implements Marry{
private Marry you;
public WeddingCompany(Marry you) {
this.you = you;
}
private void before() {
System.out.println("布置猪窝====");
}
private void after() {
System.out.println("闹玉兔====");
}
@Override
public void marry() {
before();
you.marry();
after();
}
}