enumeration e=vector.elements
But vector class does not implement Enumeration, then how comes it is returning Enumeration Reference. But e is refering to java.util.vector$1 . What is "Vector$1"???
enumeration e=vector.elements
But vector class does not implement Enumeration, then how comes it is returning Enumeration Reference. But e is refering to java.util.vector$1 . What is "Vector$1"???
Vector$1 is an anonymous class. Vector.elements() creates a new instance of this anonymous class, which implements the Enumeration interface.
Here's the source code for Vector.elements() (badly formatted, as usual):
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 (E)elementData[count++];
}
}
throw new NoSuchElementException("Vector Enumeration");
}
};
}