1. 程式人生 > >介面和抽象類不能例項化物件

介面和抽象類不能例項化物件

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的實現類的例項