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