Dieses Schlüsselwort in Java: Was ist & Verwendung mit Beispiel

Inhaltsverzeichnis:

Anonim

Was ist dieses Schlüsselwort in Java?

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 in Java besteht darin, die Verwechslung zwischen Klassenattributen und Parametern mit demselben Namen zu beseitigen.

Im Folgenden werden verschiedene Verwendungszwecke dieses Schlüsselworts in Java aufgeführt:

  • Es kann verwendet werden, um eine Instanzvariable der aktuellen Klasse zu referenzieren
  • Es kann verwendet werden, um den aktuellen Klassenkonstruktor aufzurufen oder zu initiieren
  • Es kann als Argument im Methodenaufruf übergeben werden
  • Es kann als Argument im Konstruktoraufruf übergeben werden
  • Es kann verwendet werden, um die aktuelle Klasseninstanz zurückzugeben

Klicken Sie hier, wenn das Video nicht zugänglich ist

Verstehen Sie dieses Schlüsselwort anhand eines Beispiels.

Java dieses Schlüsselwort Beispiel
  1. Klasse : Klasse Konto
  2. Instanzvariable : a und b
  3. Methode Daten festlegen: Zum Festlegen des Werts für a und b.
  4. Methode Daten anzeigen: Zum Anzeigen der Werte für a und b.
  5. Hauptmethode: Hier erstellen wir ein Objekt für Kontoklassen und rufen Methoden auf, setzen Daten und zeigen Daten an.

Lassen Sie 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? Lassen Sie untersuchen.

In der Methode Set data werden die Argumente als a und b deklariert, während die Instanzvariablen auch als a und b bezeichnet werden.

Während der Ausführung ist der Compiler verwirrt. Ob "a" auf der linken Seite des zugewiesenen Operators die Instanzvariable oder die lokale Variable ist. Daher wird der Wert von 'a' nicht festgelegt, wenn die Methodensatzdaten aufgerufen werden.

Die Lösung ist das Schlüsselwort "this"

Fügen Sie dem Schlüsselwort Java dieses Schlüsselwort 'a' und 'b' hinzu, gefolgt von einem Punktoperator (.).

Während der Codeausführung, wenn ein Objekt die Methode 'setdata' aufruft. Das Schlüsselwort 'this' wird durch den Objekthandler "obj" ersetzt. (Siehe das Bild unten).

Jetzt weiß der Compiler also:

  • Das 'a' auf der linken Seite ist eine Instanzvariable.
  • Während das 'a' auf der rechten Seite eine lokale Variable ist

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

Angenommen, Sie sind klug genug, verschiedene Namen für Ihre Instanzvariablen und Methodenargumente auszuwählen.

Diesmal erstellen Sie jedoch zwei Objekte der Klasse, die jeweils die set data-Methode aufrufen.

Wie der Compiler bestimmt, ob er mit der Instanzvariablen von Objekt 1 oder Objekt 2 arbeiten soll.

Nun, der Compiler hängt die Instanzvariable implizit an das Schlüsselwort "this" an (Bild unten).

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

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

Dieser Vorgang wird vom Compiler selbst übernommen. Sie müssen das Schlüsselwort "this" nicht explizit anhängen, es sei denn, es liegt eine Ausnahmesituation wie in unserem Beispiel vor.

Beispiel: Um die Verwendung des Schlüsselworts "this" 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) Speichern, kompilieren und führen Sie den Code aus.
Schritt 3) Der Wert von a & b wird als Null angezeigt. Um den Fehler zu korrigieren, fügen Sie die Zeilen 6 und 7 mit dem Schlüsselwort " this " hinzu.

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

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

Zusammenfassung

  • Dieses Schlüsselwort in Java ist eine Referenzvariable, die sich auf das aktuelle Objekt bezieht.
  • Dieses Schlüsselwort wird in Java unter anderem verwendet, um auf die aktuelle Klasseninstanzvariable zu verweisen
  • Es kann verwendet werden, um den aktuellen Klassenkonstruktor aufzurufen oder zu initiieren
  • Es kann als Argument im Methodenaufruf übergeben werden
  • Dieser Zeiger in Java kann als Argument im Konstruktoraufruf übergeben werden
  • Mit diesem Operator in Java kann die aktuelle Klasseninstanz zurückgegeben werden
  • Dies ist in Java ein Verweis auf das aktuelle Objekt, dessen Methode aufgerufen wird.
  • Sie können das Schlüsselwort "this" verwenden, um Namenskonflikte in der Methode / im Konstruktor Ihrer Instanz / Ihres Objekts zu vermeiden.