静态代理模式
1 package Thread; 2 3 /* 4 * 静态代理模式 5 * 婚庆公司代理你搞结婚,你专注于结婚就行,吉他事交由公司处理。 6 * 真实对象和代理对象都要实现同一个接口 7 * 代理对象要代理真实角色 8 * 9 * 10 * */ 11 public class StaticProxy { 12 public static void main(String[] args) { 13 14 WeddingCompany weddingCompany = new WeddingCompany(new You()); 15 weddingCompany.happyMarry(); 16 } 17 } 18 19 interface Marry { 20 void happyMarry(); 21 } 22 23 //真实角色,你去结婚 24 class You implements Marry { 25 @Override 26 public void happyMarry() { 27 System.out.println("兰要出嫁了,不开心!"); 28 } 29 } 30 31 //代理角色,帮助你结婚 32 class WeddingCompany implements Marry { 33 //代理谁-->真实目标角色 34 private Marry target; 35 36 public WeddingCompany(Marry target) { 37 this.target = target; 38 } 39 40 @Override 41 public void happyMarry() { 42 before(); 43 this.target.happyMarry();//这就是真实对象 44 after(); 45 } 46 47 private void before() { 48 System.out.println("结婚之前,布置现场"); 49 } 50 51 private void after() { 52 System.out.println("结婚之后,收尾款"); 53 } 54 55 }