Static Porxy(静态代理模式)
要求:
- 1、要求有:真是角色和代理角色两个对象;
- 2、真实角色 和 代理角色要实现同一个接口;
- 3、代理角色要持真实角色的引用;
package com.xu.threads;
public class StaticPorxy {
//静态代理模式
public static void main(String[] args) {
WeddingMarry weddingMarry = new WeddingMarry(new You());
weddingMarry.HappyMarry();
}
}
interface Marry{ // 接口
void HappyMarry();
}
class You implements Marry{ // 真实角色 You
@Override
public void HappyMarry() {
System.out.println("结婚");
}
}
class WeddingMarry implements Marry{ //代理对象 WeddingMarry
private You you; // 持有真实角色的引用
public WeddingMarry(You you) {
this.you = you;
}
@Override
public void HappyMarry() {
befor();
this.you.HappyMarry();
after();
}
// 代理角色帮你做的事情,真实角色就可以专注的做一件事情
public void befor(){
System.out.println("婚前");
}
public void after(){
System.out.println("婚后");
}
}