《同一個類中不同方法之間的調用相關問題(省略的類名或者this)》

來源:互聯網
上載者:User

標籤:

 1 //同一個類中不同方法之間的調用相關問題(省略的類名或者this) 2 class A 3 { 4     public void B() 5     { 6         System.out.println("b方法運行"); 7     } 8     public void C() 9     {10         B();//下面引用《瘋狂Java講義》中的一段話。11         /*12         因為Java裡的方法不能獨立存在,它必須屬於一個類或一個對象,13         因此方法也不能直接像函數那樣被獨立執行,執行方法時必須使用14         類或對象作為調用者,即所有的方法都必須使用“類.方法”或“對象.方法”15         的形式來調用。這裡可能產生一個問題:同一個類裡不同方法之間相互調用16         時,不就可以直接調用嗎?這裡需要指出的是:同一個類的一個方法調用另一個17         方法時,如果被呼叫者法是普通方法,則預設使用this作為調用者;如果被調用18         方法時靜態方法,則預設使用類作為調用者。也就是說表面上看起來某些方法可以19         被獨立執行,但實際上還是使用this或類來作為調用者。20 21         所以上面這一句 B(); 其實是省略了this的,完整的語句應該是this.B();22         */23         System.out.println("c方法運行");24     }25 }26 public class TestDiaoYong27 {28     public static void main(String[] args) 29     {30         //建立A類的對象a.31         A a = new A();32         //調用C方法。33         a.C();34     }35 }36 37 /*38 class A39 {40     public static void B()41     {42         System.out.println("b方法運行");43     }44     public static void C()45     {46         B();47         //下面引用《瘋狂Java講義》中的一段話。48 49         因為Java裡的方法不能獨立存在,它必須屬於一個類或一個對象,50         因此方法也不能直接像函數那樣被獨立執行,執行方法時必須使用51         類或對象作為調用者,即所有的方法都必須使用“類.方法”或“對象.方法”52         的形式來調用。這裡可能產生一個問題:同一個類裡不同方法之間相互調用53         時,不就可以直接調用嗎?這裡需要指出的是:同一個類的一個方法調用另一個54         方法時,如果被呼叫者法是普通方法,則預設使用this作為調用者;如果被調用55         方法時靜態方法,則預設使用類作為調用者。也就是說表面上看起來某些方法可以56         被獨立執行,但實際上還是使用this或類來作為調用者。57 58         所以上面這一句 B(); 其實是省略了類名A的,完整的語句應該是A.B();59     }60 }61 public class TestDiaoYong62 {63     public static void main(String[] args) 64     {65         //A a = new A();66         //a.C();67         //因為C方法是靜態,所以可以直接使用類名調用。68         A.C();69     }70 }71 */

 

《同一個類中不同方法之間的調用相關問題(省略的類名或者this)》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.