C02 工厂方法 JDK源码分析

源码类图

  • 抽象工厂 & 具体工厂


    C02 工厂方法 JDK源码分析
    ArrayList类图.png
  • 抽象产品 & 具体产品


    C02 工厂方法 JDK源码分析
    Itr类图.png

源码示例

  • 抽象工厂Collection;
  • 抽象产品Iterator;
public interface Collection<E> extends Iterable<E> {

    Iterator<E> iterator();

}
  • 具体工厂ArrayList;
  • 具体产品Itr;
public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{

    public Iterator<E> iterator() {
        return new Itr();
    }

    private class Itr implements Iterator<E> {
        // ...
    }

}