由于枚举是一个接口,所以语句如何返回新的枚举()是可能的。请解释一下。谢谢。
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");
}
};
}
发布于 2015-02-14 10:02:52
这是可能的,因为它通过匿名内部类实现了枚举接口。
接口被定义为要实现的,使用匿名内部类只是一种捷径,其工作方式与实例化抽象类时相同(您必须实现抽象方法)。在这种情况下,您必须实现所有接口方法。
https://stackoverflow.com/questions/28500146
复制相似问题