静态代理 比较容易理解;
满足惊呆代理的方式 需要满足一下几个条件:
1、 有真实角色(被代理的对象)
2、代理对象
3、有共同实现的接口 (愿望要一致 不然我让你代理干嘛,以接口来规范)
4、代理类 持有 被代理类的对象 (这样才能实现代理的愿望)
# 以结婚为对列 小刘 要结婚, 他是真实角色 ,婚介是代理, 小刘只要管自己结婚 而结婚前后的事情交给 婚介去做.
//接口 结婚
public inoterface domarry(){//有共同的接口
void marry();
}
//真实角色
public class XiaoLiu entends domarry{//有真实角色
@override
public void marry(){
system.out.println("我和XX结婚");
}
}
//代理角色
public class WeddingCompany entends domarry { //有代理角色
private XiaoLiu xl ;
public WeddingCompany (XiaoLiu){
this.xl=xl
}
@override
public void marry(){
before();
xl.marry();
after();
}
void before(){
system.out.println("结婚前我们帮你布置婚礼");
}
void after(){
system.out.println("结婚后我们帮你安排旅游");
}
}
public static void main(String[] args){
XiaoLiu xl = new XiaoLiu();
WeddingCompany weddingcom = new WeddingComapny(xl);
weddingcom.marry();
}
输出结果:
结婚前我们帮你布置婚礼
我和XX结婚
结婚后我们帮你安排旅游
静态代理思想: 代理与被代理的主要愿望是一致的(接口), 然后代理人要持有被代理的对象(婚介公司需要有“你”这个对象)这样才能去做你想要做的事情。 代理对象可以 处理自己的行为.
641

被折叠的 条评论
为什么被折叠?



