1

我遇到了下一个代码行,它们是 Node 类实现的一部分:

public class Node {

    private String data;
    private Node next;

我想知道如何将它private Node next;用作 Node 的一个字段?为什么这个“自我实例”是合法的,它是如何工作的?如果有人能解释这一点,我将不胜感激。

4

3 回答 3

2

Node next只会保留对不同类实例的引用Node,这意味着Nodeclass has-a Node

我猜这个类属于一个简单的“链表”实现,其中每个节点都保留对列表中下一个节点的引用。

于 2013-10-08T22:23:03.383 回答
1

你可能在这些方面意味着什么

  public class Node {

        private int info;
        private Node next;

        Node(int info, Node next) {
            this.info = info;
            this.next = next;
        }

当您实际在linked list一种结构中使用它时,next指向另一种(或相同)类型的对象Node

于 2013-10-08T22:31:45.680 回答
1

不是自实例,但是,它将引用内存上相同类型的对象的实例 a Node

Att:被引用的对象可以是它自己。

于 2013-10-08T22:33:32.633 回答