上一篇介绍了JDK动态代理,这里在介绍一下静态代理,静态代理相对来说简单了许多,静态代理模式的基本思想大致为:真实对象与代理对象都实现了相同的接口,都能做同样的事情,在代理类中可以通过获取真实对象来实现真实对象的业务逻辑。
它的使用模式大致如下图所示:
public interface Action {void doSomething();
}
public class RealObject implements Action {@Overridepublic void doSomething() {System.out.println("do something");}
}
public class Proxy implements Action{private RealObject realObject;public Proxy(RealObject realObject) {this.realObject = realObject;}@Overridepublic void doSomething() {System.out.println("before operate......");this.realObject.doSomething();System.out.println("after operate......");}
}
public class MainTest {public static void main(String[] args) {Proxy proxy = new Proxy(new RealObject());proxy.doSomething();}
}
结果: