看源码: class Stack<E> extends Vector<E> public class Vector<E>extends AbstractList<E> public abstract class AbstractList<E> extends AbstractCollection<E>//AbstractCollection: public String toString() { Iterator<E> i = iterator(); if (! i.hasNext()) return "[]"; StringBuilder sb = new StringBuilder(); sb.append('['); for (;;) { E e = i.next(); sb.append(e == this ? "(this Collection)" : e); if (! i.hasNext()) return sb.append(']').toString(); sb.append(", "); } }
class Stack<E> extends Vector<E>
public class Vector<E>extends AbstractList<E>
public abstract class AbstractList<E> extends AbstractCollection<E>//AbstractCollection:
public String toString() {
Iterator<E> i = iterator();
if (! i.hasNext())
return "[]"; StringBuilder sb = new StringBuilder();
sb.append('[');
for (;;) {
E e = i.next();
sb.append(e == this ? "(this Collection)" : e);
if (! i.hasNext())
return sb.append(']').toString();
sb.append(", ");
}
}
java.util.Stack 继承自 Vector:
public class Stack<E> extends Vector<E> { }
java.util.Vector 中:
protected Object[] elementData; //放元素的elementData就是一个object的数组