1 public class Test_5 { 2 public static void main(String[] args) { 3 you u=new you(); 4 // u.happyMarry(); 5 new weddingCompany(u).happyMarry(); 6 } 7 } 8 //真实对象:你 9 class you implements marry{ 10 @Override 11 public void happyMarry() { 12 System.out.println("你结婚啦~~~~"); 13 } 14 } 15 // 代理对象,婚庆公司 16 class weddingCompany implements marry{ 17 private you u; //代理对象需要一个真实对象 18 public weddingCompany(you u) { 19 this.u = u; 20 } 21 @Override 22 public void happyMarry() { 23 before(); 24 u.happyMarry(); 25 after(); 26 } 27 public void before(){ 28 System.out.println("布置婚礼"); 29 } 30 public void after(){ 31 System.out.println("给钱~~~"); 32 } 33 } 34 // 共同接口:结婚 35 interface marry{ 36 void happyMarry(); 37 }
1.描述上述用例:真实对象:你;代理对象:婚庆公司;共同接口:结婚。意义:你在结婚的时候需要委托婚庆公司来辅助你更好地完成结婚这件事。
静态代理:需要一个真实对象,一个代理对象,两对象对应的类实现同一个接口。在代理类中真实对象作为属性放在其中。
来源:https://www.cnblogs.com/xbfchder/p/10961519.html