Dies existiert nur innerhalb der Methode und wird verwendet, um das Objekt darzustellen, das die Methode aufruft. Es versteht sich, dass es in jeder Methode eine lokale Variable mit dem Namen this gibt. Bei jeder Initialisierung eines Objekts wird die Adresse des Objekts an diese Variable in jeder Methode des Objekts übergeben, sodass dieses Objekt innerhalb der Methode verwendet werden kann . .
Die erste Situation (Empfohlenes Lernen: Java-Kurs)
In Bei einer allgemeinen Methode hat ein formaler Parametername in Ihrer Methode denselben Namen wie ein Mitglied des aktuellen Objekts. Um Verwirrung zu vermeiden, müssen Sie explizit das Schlüsselwort this verwenden, um anzugeben, dass Sie ein bestimmtes Element verwenden möchten Die Verwendungsmethode ist „dieser. Mitgliedsname“, und diejenige ohne dies ist der formale Parameter. Darüber hinaus können Sie auch „this.method name“ verwenden, um auf eine Methode des aktuellen Objekts zu verweisen, dies ist jedoch zu diesem Zeitpunkt nicht erforderlich. Sie können den Methodennamen direkt verwenden, um auf diese Methode und den Compiler zuzugreifen Sie werden wissen, dass Sie wissen möchten, welches aufgerufen wird.
public class DemoThis { private String name; private int age; DemoThis(String name, int age) { setName(name); // 你可以加上this来调用方法,像这样:this.setName(name);但这并不是必须的 setAge(age); this.print(); } public void setName(String name) { this.name = name;// 此处必须指明你要引用成员变量 } public void setAge(int age) { this.age = age; } public void print() { System.out.println("Name=" + name + " Age=" + age);// 在此行中并不需要用this,因为没有会导致混淆的东西 } public static void main(String[] args) { DemoThis dt = new DemoThis("Kevin", "22"); } }
Der zweite Fall
Angenommen, es gibt zwei Klassen, die Containerklasse Container und die Inhaltsklasse Component. In der Mitgliedsmethode von Container handelt es sich um ein Objekt der Komponente Klasse muss aufgerufen werden. Der Konstruktor von Component erfordert eine Containerklasse, die ihn als Parameter aufruft.
class Container{ Component comp; public void addComponent(){ comp=new Component(this); } } class Component{ Container myContainer; public Component(Container c){ myContainer=c; } }
Der dritte Fall
Die Konstruktormethode kann nicht wie andere Methoden aufgerufen werden und kann nur vom System aufgerufen werden, wenn das System ein Objekt initialisiert. Obwohl der Konstruktor nicht von anderen Funktionen aufgerufen werden kann, kann er von anderen Konstruktoren der Klasse aufgerufen werden. Verwenden Sie in diesem Fall einfach dies.
class Person{ int age; String name; public Person(){ } public Person(int age){ this.age=age; } public Person(int age,String name){ this(age); this.name=name; } }
Das obige ist der detaillierte Inhalt vonWann sollte dies in Java verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!