静态代理:代理类在程序运行前已经存在的代理方式称为静态代理
一言不合直接上代码示例:
class A {
public void method1() {};
public void method2() {};
public void method3() {};
}
public class B {
private A a;
public B(A a) {
this.a = a;
}
public void method1() {
a.method1();
};
public void method2() {
a.method2();
};
// not export operateMethod3()
}
上面的 A
是委托类,
B
是代理类,
B
中的函数都是直接调用 A 相应函数。
静态代理中代理类和委托类也常常继承同一父类或实现同一接口。