2017-04-20 2 views
0

Caller.java"dieses" Verwendung auf Klasseninstanz verweisen

ListNode n = new ListNode(5); 

ListNode.java

class ListNode{ 
    int val; 
    ListNode next; 
    public ListNode(int x){ 
    val = x; 
    } 

// Methode

public void print(){ 
    this.node = node; 
    //other 
    } 
} 

Denn ich jedes Mal, mache etwas wie

Die Druckmethode innerhalb ListNode.java hat eine this, die sich nur auf diese neue Instanz bezieht? (n in diesem Fall)

+1

Ja ja ja ja –

+0

Mögliches Duplikat [Mit dem Schlüsselwort "this" in java] (http://stackoverflow.com/questions/577575/using-the-keyword-this-in -Java) – John3136

Antwort

0

Das Wort this bezieht sich auf die tatsächliche Instanz. In diesem Fall bezieht sich this auf n Bezug. Sie haben eine automatische Beziehung in Ihrer Klasse. Also, vielleicht hast du this.node = node statt this.next = node oder so ähnlich falsch geschrieben. In diesem Fall hat jede Instanz (n und nächste innerhalb von n) ihre eigenen Bereiche, die durch das Schlüsselwort this innerhalb einer Klasse dargestellt werden.

0

Ja das ist richtig.

innerhalb einer Instanz-Verfahren oder ein Konstruktor, ist dies ein Hinweis auf die aktuelle Objekt - das Objekt, dessen Methode oder Konstruktor aufgerufen wird. Sie können auf jedes Mitglied des aktuellen Objekts innerhalb von eine Instanzmethode oder einen Konstruktor verweisen, indem Sie dies verwenden.

https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html

Verwandte Themen