interface Business { void doSth(); }
实现代理的接口
public class BusinessImpl implements Business { public void doSth() { System.out.println(this); } }
实现代理接口的类
代理器
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; public class BusinessFactory { public static Business getBusiness() { Business target = new BusinessImpl(); InvocationHandler handler = new SomeInvocationHandler(target); return (Business) Proxy.newProxyInstance(Business.class .getClassLoader(), new Class[] { Business.class }, handler); } public static void main(String[] args) { BusinessFactory.getBusiness().doSth(); } }用代理器获得对象