dieses Keyword in Java

⚡ Intelligente Zusammenfassung

Java Das Schlüsselwort `this` ist eine Referenzvariable, die innerhalb einer Methode oder eines Konstruktors auf das aktuelle Objekt verweist. LessDie Abschnitte behandeln Zweck, gängige Anwendungsfälle, Namenskonflikte, Konstruktorverkettung und ein durchgerechnetes Beispiel.

  • 🔑 Definition: Dies bezieht sich auf die aktuelle Instanz einer Klasse.
  • 🧱 Konflikte lösen: Verwenden Sie this.field, um Instanzvariablen von Parametern mit identischen Namen zu unterscheiden.
  • 🪜 Konstruktorverwendung: this() ruft einen anderen Konstruktor derselben Klasse auf, um eine sauberere Initialisierung zu gewährleisten.
  • ✅ Weitergeben und Zurückgeben: Senden Sie dies als Argument oder geben Sie es zurück, um die Verkettung von Methoden zu unterstützen.
  • 🧪 Ausgearbeitetes Beispiel: Die Klasse „Account“ zeigt, wie dadurch das Problem der Nullausgabe aufgrund von Parameterüberschattung behoben wird.
  • 🤖 KI-Unterstützung: KI-gestützte Codierungswerkzeuge erkennen fehlende this-Präfixe und schlagen präzise Refaktorierungen vor.

dieses Keyword in Java

Was ist dieses Schlüsselwort in Java?

Das dieses Schlüsselwort in Java ist eine Referenzvariable, die auf das aktuelle Objekt einer Methode oder eines Konstruktors verweist. Der Hauptzweck der Verwendung dieses Schlüsselworts Java Ziel ist es, die Verwechslung zwischen Klassenattributen und Parametern mit demselben Namen zu beseitigen.

Verwendung dieses Schlüsselworts in Java

Im Folgenden werden verschiedene Verwendungen des Schlüsselworts „this“ aufgeführt. Java:

  • Es kann verwendet werden, um auf die Instanzvariable der aktuellen Klasse zu verweisen.
  • Es kann verwendet werden, um den aktuellen Klassenkonstruktor aufzurufen oder zu initialisieren.
  • Es kann als Argument in einem Methodenaufruf übergeben werden.
  • Es kann als Argument beim Aufruf eines Konstruktors übergeben werden.
  • Es kann verwendet werden, um die aktuelle Klasseninstanz zurückzugeben.

Klicken Sie auf werden auf dieser Seite erläutert wenn das Video nicht zugänglich ist

Wie man das Schlüsselwort „this“ anhand eines Beispiels versteht

dieses Keyword in Java
Java dieses Schlüsselwort Beispiel

  1. Klasse: Klassenkonto
  2. Instanzvariable: A und B
  3. Methode Daten festlegen: Zum Festlegen des Werts für a und b.
  4. Methode Daten anzeigen: Um die Werte für a und b anzuzeigen.
  5. Hauptmethode: Hier erstellen wir ein Objekt der Klasse Account und rufen Methoden zum Setzen und Anzeigen von Daten auf.

Den Compiler-Wirrwarr durchschauen

Lasst uns den Code kompilieren und ausführen.

Unsere erwartete Ausgabe für A und B sollte auf die Werte 2 bzw. 3 initialisiert werden.

Aber der Wert ist 0. Warum? Lasst uns der Sache nachgehen.

dieses Keyword in Java

In der Methode Set data werden die Argumente als a und b deklariert, während die Instanzvariablen ebenfalls a und b heißen.

dieses Keyword in Java

Während der Ausführung ist der Compiler verwirrt. Er kann nicht entscheiden, ob es sich bei „a“ links vom Zuweisungsoperator um eine Instanzvariable oder eine lokale Variable handelt. Daher wird „a“ beim Aufruf der Methode „set data“ kein Wert zugewiesen.

dieses Keyword in Java

Die Lösung ist das Schlüsselwort „this“.

Füge sowohl „a“ als auch „b“ mit dem Java dieses Schlüsselwort, gefolgt von einem Punktoperator (.).

dieses Keyword in Java

Während der Codeausführung wird beim Aufruf der Methode setdata durch ein Objekt das Schlüsselwort this durch den Objekthandler „obj“ ersetzt. (Siehe Abbildung unten.)

dieses Keyword in Java

Jetzt weiß der Compiler,

  • Das „a“ auf der linken Seite ist eine Instanzvariable.
  • Das „a“ auf der rechten Seite ist eine lokale Variable.

Das Variablen werden korrekt initialisiert und die erwartete Ausgabe wird angezeigt.

dieses Keyword in Java

Wie der Compiler mit mehreren Objekten umgeht

Angenommen, Sie wählen unterschiedliche Namen für Ihre Instanzvariablen und Methodenargumente.

dieses Keyword in Java

Aber dieses Mal erstellen Sie zwei Objekte der Klasse, die jeweils die Methode „set data“ aufrufen.

Wie bestimmt der Compiler, ob er mit der Instanzvariable von Objekt 1 oder Objekt 2 arbeiten soll?

dieses Keyword in Java

Nun die Der Compiler hängt implizit an die Instanzvariable mit dem Schlüsselwort this (siehe Abbildung unten).

dieses Keyword in Java

Wenn also Objekt 1 die Set-Data-Methode aufruft, wird eine Instanzvariable durch ihre Referenzvariable angehängt.

dieses Keyword in Java

Während Objekt 2 die Set-Data-Methode aufruft, wird eine Instanzvariable von Objekt 2 geändert.

dieses Keyword in Java

Der Compiler erledigt das automatisch. Sie müssen das Schlüsselwort `this` nicht explizit hinzufügen, es sei denn, eine Ausnahmesituation erfordert dies.

Beispiel: dieses Schlüsselwort in Java Mit Code

Ejemplo: Um die Verwendung dieses Schlüsselworts zu erlernen.

Schritt 1) Kopieren Sie den folgenden Code in einen Notizblock.

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

Schritt 2) Den Code speichern, kompilieren und ausführen.

Schritt 3) Die Werte von a und b werden als Null angezeigt? Um den Fehler zu korrigieren, fügen Sie Zeile 6 und 7 mit dem entsprechenden Wert hinzu. fehlen uns die Worte. Stichwort.

this.a =a;
this.b =b;

Schritt 4) Speichern, kompilieren und führen Sie den Code aus. Diesmal sind die Werte von a und b auf 2 bzw. 3 gesetzt.

Häufig gestellte Fragen

Das Schlüsselwort `this` bezieht sich auf das aktuelle Objekt, dessen Methode oder Konstruktor gerade ausgeführt wird. Es ermöglicht dem Code den Zugriff auf die Instanzfelder und -methoden dieses Objekts.

Nein. Das Schlüsselwort `this` gehört zu einer Instanz, während statische Methoden auf Klassenebene existieren. Die Verwendung von `this` innerhalb einer statischen Methode führt zu einem Kompilierfehler.

this() ruft einen anderen Konstruktor derselben Klasse wie die erste Anweisung auf. Dadurch wird doppelter Code vermieden und ein Konstruktor kann die Einrichtung an einen überladenen Konstruktor delegieren.

KI-Codierungsassistenten kennzeichnen verdeckte Parameter, fügen das fehlende this-Präfix hinzu und schreiben Konstruktoren so um, dass sie this()-Verkettung und Fluent Setter verwenden, die this zurückgeben.

KI-Tutoren erklären die Objektidentität, zeigen den Unterschied zwischen Instanz- und lokalem Gültigkeitsbereich auf und erstellen Schritt-für-Schritt-Beispiele mit Quizfragen, die verdeutlichen, wann das Schlüsselwort „this“ verwendet werden sollte.

Sehen Sie sich unseren Artikel an Java Interviewfragen: - Zu unseren Stellenangeboten

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: