Wenn Mitgliedsvariablen und lokale Variablen mit demselben Namen vorhanden sind, wird standardmäßig auf die Daten der lokalen Variablen innerhalb der Methode zugegriffen. Sie können die Daten des Mitglieds angeben Variable, auf die über das Schlüsselwort this zugegriffen werden soll. In einem Konstruktor können Sie einen anderen Konstruktor aufrufen, um das Objekt zu initialisieren.
1. Verwenden Sie dieses Schlüsselwort in der Methodendefinition der Klasse, um die Referenz des Objekts darzustellen, das die Methode verwendet.
2. Verwenden Sie dies, wenn angegeben werden muss, wer die Methode derzeit verwendet
3. Manchmal kann dies verwendet werden, um mit der Situation umzugehen, in der die Mitgliedsvariablen und Parametervariablen in der Methode denselben Namen haben.
4. Dies kann als Variable betrachtet werden, und zwar value ist ein Verweis auf das aktuelle Objekt
Hinweis:
Wenn Mitgliedsvariablen und lokale Variablen mit demselben Namen vorhanden sind, wird auf die lokalen Variablen innerhalb der Methode zugegriffen ( Java verwendet für den Zugriff den „Proximity-Prinzip“-Mechanismus. Wenn in einer Methode auf eine Variable zugegriffen wird und die Variable nur als Mitgliedsvariable vorhanden ist, fügt der Java-Compiler das Schlüsselwort this vor der Variablen hinzu.
/* this关键字调用其他的构造函数要注意的事项: 1. this关键字调用其他的构造函数时,this关键字必须要位于构造函数中 的第一个语句。 2. this关键字在构造函数中不能出现相互调用 的情况,因为是一个死循环。 */ class Student{ int id; //身份证 String name; //名字 //目前情况:存在同名 的成员 变量与局部变量,在方法内部默认是使用局部变量的。 public Student(int id,String name){ //一个函数的形式参数也是属于局部变量。 this(name); //调用了本类的一个参数的构造方法 //this(); //调用了本类无参的 构造方法。 this.id = id; // this.id = id 局部变量的id给成员变量的id赋值 System.out.println("两个参数的构造方法被调用了..."); } public Student(){ System.out.println("无参的构造方法被调用了..."); } public Student(String name){ this.name = name; System.out.println("一个参数的构造方法被调用了..."); } } class Demo7 { public static void main(String[] args) { Student s = new Student(110,"铁蛋"); System.out.println("编号:"+ s.id +" 名字:" + s.name); /* Student s2 = new Student("金胖子"); System.out.println("名字:" + s2.name); */ } }
Für weitere Java-Kenntnisse beachten Sie bitte das Java-Grundlagen-Tutorial.
Das obige ist der detaillierte Inhalt vonGreift Java dadurch auf Mitgliedsvariablen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!