接口和抽象类不能实例化对象

ArrayList points = new ArrayList();

Iterator i = points.iterator();


points是ArrayList的对象,用points.iterator转换成迭代器的形式也就是i对象;

i是Iterator的引用  引用的是Iterator的实现类的对象;


方法说明如下:
iterator

public Iterator<E> iterator()

    返回以正确顺序在此列表的元素上进行迭代的迭代器。

    此实现返回 iterator 接口的一个直接实现,具体取决于底层 list 的 size()、get(int) 和 remove(int) 方法。

    注意,除非重写该列表的 remove(int) 方法,否则此方法返回的迭代器将抛出一个 UnsupportedOperationException 来响应其 remove 方法。

    在面临并发修改时,可以使此实现抛出运行时异常,如 (protected) modCount 字段规范中的描述。

    指定者:
        接口 Iterable<E> 中的 iterator
    指定者:
        接口 Collection<E> 中的 iterator
    指定者:
        接口 List<E> 中的 iterator
    指定者:
        类 AbstractCollection<E> 中的 iterator

    返回:
        以正确顺序在此列表的元素上进行迭代的迭代器。所以这里返回的是Iterator的实现类的实例

发布了34 篇原创文章 · 获赞 24 · 访问量 5022

猜你喜欢

转载自blog.csdn.net/wzg199538/article/details/45672775