-
-
代理对象要代理真实角色
-
好处:
代理对象,可以做很多真实对象做不了的事情,
真实对象,可以专注做自己的事情
package BufferedTest;
/*
?
*/
public class StacticProxy {
public static void main(String[] args) {
You you = new You();
new WeddingCompany(new You()).HaapyMarry();//简化成一行
// WeddingCompany weddingCompany = new WeddingCompany(new You());
// weddingCompany.HaapyMarry();
new Thread(()-> System.out.println("我爱你")).start();
}
}
interface Marry{
void HaapyMarry();
}
//真实角色,你去结婚
class You implements Marry{
?
@Override
public void HaapyMarry() {
System.out.println("王刚二婚了");
}
}
//代理角色,帮助你结婚
class WeddingCompany implements Marry{
private Marry target;//代理需要对象,定义接口
?
public WeddingCompany(Marry target) {
this.target = target;//这就是真实对象
}
private void before(){
System.out.println("结婚之前,布置现场");
?
}
private void after(){
System.out.println("结婚之后,收尾款");
?
}
?
?
@Override
public void HaapyMarry() {
this.target.HaapyMarry();
before();
after();
}
?
}