//被代理接口 interface ClothFactory{ public void productCloth(); } //被代理类 class NikeClothFactory implements ClothFactory{ @Override public void productCloth() { System.out.println("Nike 生产衣服"); } } //代理接口 interface ProxyFactory{ public void product(); } //代理类 class NikeProxyFactory implements ProxyFactory{ ClothFactory clothFactory; public NikeProxyFactory(ClothFactory clothFactory){ this.clothFactory = clothFactory; } @Override public void product() { System.out.println("代理类执行,收代理费"); clothFactory.productCloth(); } } public class TestStaticProxy { /** * @Title: main * @Description: * @param: * @return void * @user: wangzg * @Date:2014-10-27 * @throws */ public static void main(String[] args) { // TODO Auto-generated method stub ClothFactory clothFactory = new NikeClothFactory(); ProxyFactory proxyFactory = new NikeProxyFactory(clothFactory); proxyFactory.product(); } }
原文地址:http://blog.csdn.net/sd_tz_wzg/article/details/40507135