1. Dies bezieht sich auf das aktuelle Objekt selbst.
Wenn es notwendig ist, explizit in einer Klasse hinzuweisen, die die eigenen Variablen oder Funktionen des Objekts verwendet, sollte diese Referenz hinzugefügt werden. Wie im folgenden Beispiel:
Die Codekopie lautet wie folgt:
öffentliche Klasse A {
String S = "Hallo";
public a (String s) {
System.out.println ("S =" + s);
System.out.println ("1 -> this.s =" + this.s);
this.s = s;
System.out.println ("2 -> this.s =" + this.s);
}
public static void main (String [] args) {
neu a ("HelloWorld!");
}
}
Auslaufergebnisse:
S = HelloWorld!
1 -> this.s = Hallo
2 -> this.s = helloWorld!
In diesem Beispiel ist in Konstruktor A Parameter S gleichname wie Variable S von Klasse A. Zu diesem Zeitpunkt wird der Parameter S, wenn s direkt betrieben wird, betrieben. Um die Variablen der Klasse A zu betreiben, sollten Sie dies zur Referenz verwenden. Die erste Zeile des laufenden Ergebnisses besteht darin, den Parameter direkt zu drucken.
2. Übergeben Sie dies als Parameter
Dies kann auch verwendet werden, wenn Sie sich als Parameter an ein anderes Objekt übergeben möchten. wie:
Die Codekopie lautet wie folgt:
öffentliche Klasse A {
public a () {
neu B (this) .print ();
}
public void print () {
System.out.println ("Hallo aus einem!");
}
}
öffentliche Klasse B {
A a;
public b (a a) {
this.a = a;
}
public void print () {
A.print ();
System.out.println ("Hallo aus B!");
}
}
Auslaufergebnisse:
Hallo von einem!
Hallo aus B!
In diesem Beispiel wird im Konstruktor von Objekt A neue B (dies) verwendet, um Objekt A selbst als Parameter an den Konstruktor des Objekts B zu übergeben.
3. Achten Sie darauf in anonymen und inneren Klassen.
Manchmal verwenden wir einige interne und anonyme Klassen. Wenn dies in der anonymen Klasse verwendet wird, bezieht sich dies auf die anonyme Klasse oder die innere Klasse selbst. Wenn wir zu diesem Zeitpunkt Methoden und Variablen externer Klassen verwenden möchten, sollten wir den Klassennamen der externen Klasse hinzufügen. Wie im folgenden Beispiel:
Die Codekopie lautet wie folgt:
öffentliche Klasse A {
int i = 1;
public a () {
Thread = neuer Thread () {
public void run () {
für(;;) {
A.dis.run ();
versuchen {
Schlaf (1000);
} catch (InterruptedException dh) {
}
}
}
};
Thread.Start ();
}
public void run () {
System.out.println ("i =" + i);
i ++;
}
public static void main (String [] args) löst Ausnahme {aus {
neu a ();
}
}
Im obigen Beispiel ist Thread ein anonymer Klassenobjekt. Zu diesem Zeitpunkt ist es unmöglich, sie direkt aufzurufen, da die Funktion denselben Namen hat. Zu diesem Zeitpunkt gibt es zwei Möglichkeiten. Anschließend können Sie die Methode in diesem Beispiel verwenden, um den Klassennamen der externen Klasse und diese Referenz zu verwenden, um anzuzeigen, dass der Methodelauf der externen Klasse aufgerufen werden soll.