1. 程式人生 > >關於this關鍵字

關於this關鍵字

它的 構造 成員 class 互相調用 函數 處的 格式 java

this:所在方法的調用者對象

this關鍵字:
1:如果存在成員變量和局部變量同名,方法中默認訪問局部變量(就近原則),可以通過this關鍵之指定訪問成員變量的數據

2:如果在一個方法中訪問了一個變量,且該變量只存在成員變量的情況下,java編譯器會在該變量的前面添加this關鍵字

3: 在一個構造函數中調用其它的構造函數
格式:
this(參數列表)

this關鍵字調用其它構造函數的註意點:

1:在一個構造函數中調用其它的構造函數時,this關鍵字必須位於構造函數中的第一個語句
2: 不能在構造函數中出現構造函數互相調用的情況,因為這是個死循環

public class Demo4 {

    public static void main(String[] args) {
        Person p1 = new Person("張三",29);
        Person p2 = new Person("李四",28);
        String s =p1.compare(p2);
        System.out.println(s);

    }

}

class Person{
    String name;
    int age;
    
    Person(String name, 
int age){ this.name = name; //指向的是調用此構造函數的對象,Person p1 = new Person("張三",29);中 this.name 就是 p1.name = (傳進來的)"張三"; this.age = age; } String compare(Person p){ if(this.age > p.age){ //此處的this.age中的this指的是compare方法的調用者:p1,意思類似於 p1.age ; return this.name+"比"+p.name+"大"; }
else if(this.age == p.age){ return "兩人一樣大"; }else{ return this.name+"比"+p.name+"小"; } } }

關於this關鍵字