關於this關鍵字
阿新 • • 發佈:2017-07-05
它的 構造 成員 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關鍵字