文章目录
1. 基本概念
- 所谓的代理就是帮助主要对象完成一项任务,在编程中往往体现为基础环境的搭建
代理的实现原则是:
- 被代理的对象与代理对象均需要实现相同的接口,实现相同的方法
- 在代理的成员变量中设置代理的对象
- 在代理的成员方法中调用被代理对象的同名方法
2. 静态代理的例子
public class MainClass {
public static void main(String[] args) {
Bride bride = new Bride();
MarryProxy marryProxy = new MarryProxy(bride);
marryProxy.marry();
}
}
interface Marry{
void marry();
}
class Bride implements Marry{
@Override
public void marry() {
System.out.println("Bride is marrying");
}
}
/**
* 1. 代理的实现需要和被代理的对象实现相同的接口
* 2. 代理对象在构造方法中传入被代理的对象
* 3. 在接口的方法中调用被代理对象的方法,实现代理
* */
class MarryProxy implements Marry{
private Bride bride;
public MarryProxy(Bride bride) {
this.bride = bride;
}
@Override
public void marry() {
System.out.println("代理前的准备工作!");
this.bride.marry();
System.out.println("代理后的结束工作!");
}
}
Java的静态代理基本概念