什么是静态代理模式?
静态代理模式,必须有两个角色,一个真实对象和一个代理对象。
代理对象可以代理真实对象,对真实对象进行增强,实现某些真实对象不能实现的事。真实对象只用专注做自己的事情。
要求:
1.代理对象和真实对象要实现同一个接口。
2.代理对象要代理真实对象。
共同的接口:有一个方法就是结婚
//共同的接口 结婚
interface JieHun{
void jieHun();
}
真实对象:你
//真实对象 你
static class you implements JieHun{
@Override
public void jieHun() {
System.out.println("老丁结婚了");
}
}
代理对象:婚前公司
//代理对象 婚庆公司
static class hunQing implements JieHun{
private you you;
public hunQing(you you){
this.you = you;
}
@Override
public void jieHun() {
qian();
you.jieHun();
ho();
}
public void qian(){
System.out.println("结婚前布置现场。");
}
public void ho(){
System.out.println("结婚后找新郎收钱。");
}
}
main方法:
public static void main(String[] args) {
hunQing hunQing = new hunQing(new you());
hunQing.jieHun();
}
输出结果:
结婚前布置现场。
老丁结婚了
结婚后找新郎官收钱。
真实对象只用专注自己的事情,即 结婚。经过代理对象 :婚庆公司的加强多了两个前后步骤,即 结婚前 布置现场 结婚 后收取费用。