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