package com.atguigu.java1;/** * 静态代理举例: * * 特点:代理类和被代理类在编译期间,就确定下来了。 * * @author Dxkstart * @create 2021-06-08 11:13 */interface ClothFactory{ void produceCloth();}//代理类class ProxyClothFactory implements ClothFactory{ private ClothFactory factory;//用被代理类对象进行实例化 //构造器 public ProxyClothFactory(ClothFactory factory){ this.factory = factory; } @Override public void produceCloth() { System.out.println("代理工厂做一些准备工作"); factory.produceCloth(); System.out.println("代理工厂做一些后续的首尾工作"); }}//被代理类class NikeClothFactory implements ClothFactory{ @Override public void produceCloth() { System.out.println("Nike工厂生产一批运动服"); }}public class StaticProxyTest { public static void main(String[] args) { //1.创建被代理类的对象 ClothFactory nike = new NikeClothFactory(); //2.创建代理类的对象 ClothFactory proxyClothFactory = new ProxyClothFactory(nike); proxyClothFactory.produceCloth(); }}