private static class Entry<E> {
E element;
Entry<E> next;
Entry<E> previous; Entry(E element, Entry<E> next, Entry<E> previous) {
this.element = element;
this.next = next;
this.previous = previous;
}
}
进入构造函数, 执行到this.next = next时,next是Entry类型,可这时Entry还没构造出来啊?要怎么理解?
E element;
Entry<E> next;
Entry<E> previous; Entry(E element, Entry<E> next, Entry<E> previous) {
this.element = element;
this.next = next;
this.previous = previous;
}
}
进入构造函数, 执行到this.next = next时,next是Entry类型,可这时Entry还没构造出来啊?要怎么理解?
楼主【fuyou001】截止到2008-07-04 18:42:26的历史汇总数据(不包括此帖):
发帖的总数量:155 发帖的总分数:4185
结贴的总数量:155 结贴的总分数:4185
无满意结贴数:19 无满意结贴分:745
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:12.26 % 无满意结分率:17.80 %
敬礼!
假设 把 Entry 理解成商品类别,类别下有子类别。 不能说因为 子类别没有构造出来 就不能构造他的父类别。
因为一个类可以有多个实例。
执行到this.next = next 在构造当前这个事例的时候你肯定已经有一个已经实例化了的实例
private transient Entry<E> header = new Entry<E>(null, null, null);用header再去构造别的 Entry
此为正解。 任何事情总有开始,那么第一个就只能传入null了。否则就循环了。(自己指向自己)