1.this指向當前的對象,更確切的說this是執行當前對象的一個引用變量,好比如下代碼,輸出的結果的地址值是相同的,也就是this指向了P這個對象this
1 public class Person { 2 String name; 3 int age; 4 public void say(){ 5 6 7 System.out.println("this:"+this); 8 } 9 public static void main(String[] args) { 10 Person p=new Person(); 11 p.say(); 12 System.out.println("p:"+p); 13 } 14 }
2.在一個類中,當這個類中的成員變量被與他同名的構造方法中的局部變量隱藏時,咱們能夠經過this.變量名調用。以下代碼:當第7行咱們不用this關鍵字時,輸出是「張三吃」,反之「李四吃」,這裏的this就是指向11行的p,至關於p.name。spa
1 public class Person { 2 String name="李四"; 3 int age; 4 5 public Person(){ 6 String name="張三"; 7 System.out.println(this.name+"吃"); 8 9 } 10 public static void main(String[] args) { 11 Person p=new Person(); 12 13 } 14 }
3.當構造方法調用構造方法時,咱們能夠用this([參數列表])來調用,無參用this(),如如下代碼。須要追的是this必須書寫在第一行。打印時先打印this的結果:12行,而後打印7行。code
1 public class Person { 2 String name; 3 int age; 4 5 public Person(String name){ 6 this("李四",23); 7 System.out.println("一個變量的構造方法"); 8 9 } 10 public Person(String name,int age){ 11 12 System.out.println("兩個變量的構造方法"); 13 } 14 public static void main(String[] args) { 15 Person p=new Person("張三"); 16 } 17 }