使用self作为参数创建实例

时间:2013-04-14 22:32:51

标签: java constructor doubly-linked-list

使用一个指向自身的节点创建双向链表

public DList(){
 Dnode sentinel= new DNode(sentinel, null, sentinel);
}

供参考,Dnode构造函数采用DNode(Dnode p,Object 0,Dnode n)

这是有效的代码吗?

1 个答案:

答案 0 :(得分:3)

不,这是无效的。

您不能在定义它的表达式中使用sentinel变量。

但是你可以有一个构造函数,它使前一个和下一个元素本身(this):

class DList {
    DList previous, next;

    public DList() {
        previous  = this;
        next = this;
    }
}