package com.kuang.demo3;
public class StaticProxy {
public static void main(String[] args) {
WeddingCompany weddingCompany = new WeddingCompany(new You());
weddingCompany.HappyMarry();
}
}
//结婚接口
interface Marry{
void HappyMarry();
}
//真实角色:你去结婚
class You implements Marry{
@Override
public void HappyMarry() {
System.out.println("秦老师要结婚了,真开心");
}
}
//代理角色:帮助结婚
class WeddingCompany implements Marry{
//代理谁:真实目标角色
private Marry target;
public WeddingCompany(Marry target){
this.target = target;
}
@Override
public void HappyMarry() {
before();
this.target.HappyMarry();//这就是真实对象
after();
}
//结婚之前
private void before() {
System.out.println("结婚之前,布置现场");
}
//结婚之后
private void after() {
System.out.println("结婚之后,收尾款");
}
}
多线程03——代理模式
于 2023-01-09 10:16:02 首次发布
该代码示例展示了Java中的静态代理模式应用。通过`WeddingCompany`代理类来包装`You`真实角色,实现了在结婚(`HappyMarry`方法)前后添加额外的操作,如布置现场和收尾款。`Marry`接口定义了结婚的行为。
6万+

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



