Java this關鍵字總結

this關鍵字根據所在位置的不同,引用不同

1:在構造器執行體裏。
我們通過代碼說明:
public class Test {
     private int height;
     public Test(int height){
            this. height=height;
     }
     public static void main(String args[]){
           Test test=new Test(15);
     }
}

在構造器裏,this引用構造器正在初始化的對象。

2:在方法執行體裏。
this引用,調用該方法的對象。
我們通過代碼說明:
public class Test {
     public void run(){
           System. out.println( "執行run方法");
     }
     public void runTwo(){
            //在runTwo方法中調用run方法
            this.run();
           System. out.println( "執行runTwo方法" );
     }
     public static void main(String args[]){
           Test test= new Test();
           test.runTwo();
     }
}



在runTwo方法中通過this調用另一個方法run,this在這個方法執行體裏指向調用runTwo方法的對象。
當兩個方法有依賴關係時可以省略this
代碼如下:
public class Test {
     public void run (){
           System. out.println( "執行run方法");
     }
     public void runTwo(){
            //在runTwo方法中調用run方法
           run();
           System. out.println( "執行runTwo方法" );
     }
     public static void main(String args[]){
           Test test= new Test();
           test.runTwo();
     }
}



在靜態方法中不可以使用this關鍵字,因爲調用靜態方法的是類,雖然可以通過實例調用靜態方法,但是在底層的運行中還是通過該實例的所屬類調用這個靜態方法,所以this不能指向有效的對象,將出現錯誤。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章