枚举接口的elements()方法

时间:2015-02-13 12:56:32

标签: collections enumeration

语句如何返回新的Enumeration()是可能的,因为Enumeration是一个接口。 Plz解释。感谢。

public Enumeration<E> elements() {
    return new Enumeration<E>() {
        int count = 0;

        public boolean hasMoreElements() {
            return count < elementCount;
        }

        public E nextElement() {
            synchronized (Vector.this) {
                if (count < elementCount) {
                    return elementData(count++);
                }
            }
            throw new NoSuchElementException("Vector Enumeration");
        }
    };
}

1 个答案:

答案 0 :(得分:0)

这是可能的,因为通过匿名内部类 实现 Enumeration 接口

接口定义为实现,匿名内部类的使用只是一种快捷方式,其工作方式与实例化抽象类时相同(你必须实现抽象方法)。在这种情况下,您必须实现所有接口方法。