淺談this關鍵字

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 }
相關文章
相關標籤/搜索