Java stellt das Schlüsselwort this bereit, das immer auf das Objekt verweist, das die Methode aufruft. Je nachdem, wo dies erscheint, gibt es zwei Situationen, in denen es als Standardreferenz auf das Objekt dient. (Empfohlenes Lernen: Java-Kurs )
A),Der Konstruktor wird im Konstruktor referenziert, der initialisiert wird. (dies bezieht sich immer auf das Objekt, das vom Konstruktor initialisiert wird. Wenn beispielsweise lokale Variablen und globale Variablen denselben Namen haben, bezieht sich dies immer auf die lokalen Variablen des Konstruktors).
b),bezieht sich auf das Objekt, das die Methode in der Methode aufruft.
Die größte Funktion dieses Schlüsselworts besteht darin, einer Methode in einer Klasse den Zugriff auf eine andere Methode oder Instanzvariable der Klasse zu ermöglichen. (Java ermöglicht es einem Mitglied eines Objekts, ein anderes Mitglied direkt aufzurufen, und das Präfix this kann weggelassen werden. In den meisten Fällen ist die Auswirkung des Hinzufügens oder Nichthinzufügens des Präfixes this, wenn eine Methode auf andere in der Klasse definierte Methoden und Mitgliedsvariablen zugreift ist genau das Gleiche). Dies kann jedes Objekt darstellen. Wenn dies in einem Methodenkörper erscheint, ist das Objekt, das es darstellt, unsicher, aber sein Typ ist sicher. Das Objekt, das es darstellt, kann nur die aktuelle Klasse sein. Erst beim Aufruf dieser Methode wird das von ihr repräsentierte Objekt ermittelt. Wer diese Methode aufruft, repräsentiert wen. Für statisch geänderte Methoden können Sie eine Klasse verwenden, um die Methode direkt aufzurufen. Wenn das Schlüsselwort this in einer statistisch geänderten Methode verwendet wird, kann dieses Schlüsselwort nicht auf das entsprechende Objekt verweisen. Daher kann diese Referenz nicht in statisch geänderten Methoden verwendet werden. Da statisch modifizierte Methoden diese Referenz nicht verwenden können, können statisch modifizierte Methoden nicht auf normale Mitglieder zugreifen, die nicht statisch modifiziert sind. Daher schreibt die Java-Grammatik vor, dass statische Mitglieder nicht direkt auf nicht statische Mitglieder zugreifen können.package com.bie.main; /** * * @Description TODO * @author biehl * @Date 2019年3月9日 上午10:53:48 * */ public class Person { public int age;//成员变量。 public Person() { //构造器中定义一个age局部变量 int age = 0; //使用this代表该构造器正在初始化的对象。 //将构造器正在初始化的对象age对象设置为25 this.age = 25; } public static void main(String[] args) { System.out.println(new Person().age); } }
Das obige ist der detaillierte Inhalt vonWie man das in Java versteht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!