我熟悉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循環。這與其他任何課程沒有什麼不同。 –