Java中的静态代理
1 静态代理
步骤
//1.新建一个类 静态代理-staticProxy
//2.创建共同接口-Marry
//3.在接口中创建方法-HappyMarry();
//4.创建实现接口的对象-You
//5.创建代理的类代理实现共同接口Marry --WeddingCompany
//6.在代理类中创建(需要代理的对象)目标对象,并添加构造函数
//7.在代理类(staticProxy)中创建主函数-添加代理,代理调用HappyMarry方法
以结婚为例:婚庆公司帮助个人结婚
package proxy;
//1.新建一个类 静态代理-staticProxy
//2.创建共同接口-Marry
//3.在接口中创建方法-HappyMarry();
//4.创建实现接口的对象-You
//5.创建代理的类代理实现共同接口Marry --WeddingCompany
//6.在代理类中创建(需要代理的对象)目标对象,并添加构造函数
//7.在代理类(staticProxy)中创建主函数-添加代理,代理调用HappyMarry方法
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() {
beforeMary();
this.target.HappyMarry();
afterMarry();
}
private void afterMarry() {
System.out.println("结婚之后,收尾款");
}
private void beforeMary() {
System.out.println("结婚之前,布置现场");
}
}