9.Java方法重載

來源:互聯網
上載者:User

標籤:

在Java中,同一個類中的多個方法可以有相同的名字,只要它們的參數列表不同就可以,這被稱為方法重載(method overloading)。

參數列表又叫參數簽名,包括參數的類型、參數的個數和參數的順序,只要有一個不同就叫做參數列表不同。

重載是物件導向的一個基本特性。

下面看一個詳細的執行個體。

  1. public class Demo{
  2. // 一個普通的方法,不帶參數
  3. void test(){
  4. System.out.println("No parameters");
  5. }
  6. // 重載上面的方法,並且帶了一個整型參數
  7. void test(int a){
  8. System.out.println("a: " + a);
  9. }
  10. // 重載上面的方法,並且帶了兩個參數
  11. void test(int a,int b){
  12. System.out.println("a and b: " + a + " " + b);
  13. }
  14. // 重載上面的方法,並且帶了一個雙精確度參數
  15. double test(double a){
  16. System.out.println("double a: " + a);
  17. return a*a;
  18. }
  19. public static void main(String args[]){
  20. Demo obj= new Demo();
  21. obj.test();
  22. obj.test(2);
  23. obj.test(2,3);
  24. obj.test(2.0);
  25. }
  26. }

運行結果:
No parameters
a: 2
a and b: 2 3
double a: 2.0

通過上面的執行個體,讀者可以看出,重載就是在一個類中,有相同的函數名稱,但形參不同的函數。重載的結果,可以讓一個程式段盡量減少代碼和方法的種類。

說明:

  • 參數列表不同包括:個數不同、類型不同和順序不同。
  • 僅僅參數變數名稱不同是不可以的。
  • 跟成員方法一樣,構造方法也可以重載。
  • 聲明為final的方法不能被重載。
  • 聲明為static的方法不能被重載,但是能夠被再次聲明。


方法的重載的規則:

  • 方法名稱必須相同。
  • 參數列表必須不同(個數不同、或類型不同、參數排列順序不同等)。
  • 方法的傳回型別可以相同也可以不相同。
  • 僅僅傳回型別不同不足以成為方法的重載。


方法重載的實現:
方法名稱相同時,編譯器會根據調用方法的參數個數、參數類型等去逐個匹配,以選擇對應的方法,如果匹配失敗,則編譯器報錯,這叫做重載分辨。

9.Java方法重載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.