package cn.zxb.test;
/**
* 静态代理 设计模式
* 1,真实角色
* 2,代理角色 持有真实角色的引用
* 3,二者要实现相同的接口
*
*/
public class StaticProxy {
public static void main(String[] args) {
//创建真实角色
You you = new You();
//创建代理角色 +真实角色的引用
WeddingCompany company = new WeddingCompany(you);
//执行任务
company.marry();
}
}
//接口
interface Marry{
void marry(); //相当于puclic abstract void marry();
}
//真实角色
class You implements Marry{
@Override
public void marry() {
System.out.println("ni he change jiehun");
}
}
//代理角色
class WeddingCompany implements Marry{
private Marry you;
public WeddingCompany(){
}
public WeddingCompany(Marry you){
this.you = you;
}
private void before(){
System.out.println("buzhi");
}
private void after(){
System.out.println("nao yutu");
}
@Override
public void marry() {
before();
you.marry();
after();
}
}
【java学习笔记s】设计模式--静态代理
最新推荐文章于 2024-07-29 14:22:26 发布