java中的静态代理模式

 1 package Thread;
 2 
 3 
 4 public class StaticProxy{
 5     public static void main(String[] args){
 6         //创建真实角色
 7         Marry you =new You();
 8         //创建第阿里角色+真实角色的引用
 9         WeddingCompany company = new WeddingCompany(you);
10         company.marry();
11     }
12 }
13 //接口
14 interface Marry{
15     public abstract void marry();
16 }
17 //真实角色
18 class You implements Marry{
19     public void marry(){
20         System.out.println("you and 嫦娥结婚了.....");
21     }
22 }
23 //代理角色
24 class WeddingCompany implements Marry{
25     private Marry you;
26     public WeddingCompany(){
27         
28     }
29     public WeddingCompany(Marry you){
30         this.you=you;
31     }
32     private void before(){
33         System.out.println("布置猪窝....");
34     }
35     private void after(){
36         System.out.println("闹玉兔.....");
37         
38     }
39     public void marry(){
40         before();
41         you.marry();
42         after();
43     }
44 }

总结:

1.真实角色和代理角色都继承自同一接口(实现接口中的方法)

2.代理角色持又真实角色的引用

3.代理做代理的事,我做我的事

原文地址:https://www.cnblogs.com/qingsheng/p/9163252.html