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();    }}