C02 工厂方法 JDK源码分析
源码类图
-
抽象工厂 & 具体工厂
ArrayList类图.png
-
抽象产品 & 具体产品
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> {
// ...
}
}