我熟悉java中使用的'this'关键字,它用于引用当前对象。下面这段代码显示了一个链表的节点如何被创建:“object = this”in java
class Node {
Node next = null;
int data;
public Node(int d) {
data = d;
}
void appendToTail(int d) {
Node end = new Node(d);
Node n = this;
while (n.next != null) {
n = n.next;
}
n.next = end;
}
}
但在这里我不知道在什么上面下面的代码行指出:
Node n = this;
我敢确定这里的'this'被引用到当前对象,但是这个对象的头部,尾部还是LinkedList中的任何其他节点?不知道我的问题是否合理,但非常感谢任何帮助。
'Node n'声明一个类型为'Node'的变量'n'。 '= this'用'this'初始化变量'n',它也是'Node'类型。所以,在这条指令之后,'n'和'this'是对同一个对象的两个引用。头和尾是无关紧要的。我不明白“LinkedList中的头部或任何节点是什么?”手段。 –
@JBNizet,只是改正了错字。我的意思是我们引用'this'关键字,还是仅仅是对一个节点的引用? – Aiguo
当调用appendToTail时,'n'将具有与类(实例)相同的值。在这种情况下,它可以在当前实例上执行while循环。这与其他任何课程没有什么不同。 –