工厂方法在JDK中的运用
一 代码
JDK源码解析-Collection.iterator方法
public class Demo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("令狐冲");
list.add("风清扬");
list.add("任我行");
//获取迭代器对象
Iterator<String> it = list.iterator();
//使用迭代器遍历
while(it.hasNext()) {
String ele = it.next();
System.out.println(ele);
}
}
}
该使用迭代器遍历集合,获取集合中的元素。而单列集合获取迭代器的方法就使用到了工厂方法模式。
二类图
-
Collection接口是抽象工厂类,ArrayList是具体的工厂类。 Iterator接口是抽象商品类,ArrayList类中的Iter内部类是具体的商品类。 具体的工厂类中iterator()方法创建具体的商品类的对象。
另外 1 DateForamt类中的getInstance()方法使用的是工厂模式; 2 Calendar类中的getInstance()方法使用的是工厂模式;
