java中静态代理所指的就是我们要完成某件事情的时候,有别的事物或者人可以代理我们帮助我们完成.就比如我们结婚,我们结婚婚庆公司可以帮助我们布置场地和各种事物,代理我们结婚,他和我们都是完成了结婚这一件事物,但是最终还是我们结婚.我这个对象时真实存在的.
1 public class StaticPorxy { 2 public static void main(String[] args) { 3 new WeddingConpy(new You()).happyMarry(); 4 } 5 } 6 //结婚 7 interface Marry{ 8 void happyMarry(); 9 10 } 11 //真实的我 12 class You implements Marry{ 13 @Override 14 public void happyMarry() { 15 System.out.println("终于要和嫦娥结婚啦"); 16 } 17 } 18 //婚庆公司代理 19 class WeddingConpy implements Marry{ 20 private Marry you; 21 22 public WeddingConpy(Marry you) { 23 this.you = you; 24 } 25 26 @Override 27 public void happyMarry() { 28 frist();//结婚之前 29 this.you.happyMarry(); 30 after();//结婚之后 31 32 } 33 34 private void after() { 35 36 System.out.println("和嫦娥小姐姐玩"); 37 } 38 39 private void frist() { 40 System.out.println("和玉兔小宝宝吃月饼"); 41 } 42 }
运行结果:
和玉兔小宝宝吃月饼
终于要和嫦娥结婚啦
和嫦娥小姐姐玩
结论:
我们可以观察到通过代理对象我们也实现了结婚.