Java 方法重載

來源:互聯網
上載者:User

標籤:字串   public   ati   整數   sts   關於   logs   方便   tail   

  什麼是方法重載?

  方法重載的要求是兩同一不同:同一類中方法名相同,參數列表不同。至於方法的其他部分,如方法傳回值類型、修飾符等,與方法重載沒有任何關係。

 

  為什麼要用方法重載?

  重載的目的是方便程式員調用方法。比如,System.out.println()這個函數是用來輸出的,當輸出的是整數時是用這個方法,當輸出一個字串時還是用這個方法。根據傳入參數的不同,自動找到匹配的方法。

 

  方法重載是編譯時間多態,在編譯時間確定方法簽名。

 1 import java.util.ArrayList; 2 import java.util.LinkedList; 3 import java.util.List; 4 import java.util.concurrent.CopyOnWriteArrayList; 5  6 public class TestOverLoadMethod { 7  8     public void testOverLoad(ArrayList<String> arrayList){ 9         System.out.println("ArrayList");10     }11 12     public void testOverLoad(LinkedList<String> linkedList){13         System.out.println("LinkedList");14     }15 16     public void testOverLoad(List<String> list){17         System.out.println("list");18     }19 20     public static void main(String[] args) {21         List<List<String>> lists = new ArrayList<List<String>>();22         lists.add(new ArrayList<String>());23         lists.add(new LinkedList<String>());24         lists.add(new CopyOnWriteArrayList<String>());25 26         TestOverLoadMethod obj = new TestOverLoadMethod();27         for (List<String> list : lists) {28             obj.testOverLoad(list);29         }30     }31 32 }

  結果:

1 list2 list3 list

  雖然運行時才確定調用哪個方法,但是編譯時間確定方法簽名。因為編譯器看到obj.testOverLoad(list);執行時list的宣告類型是List<String>,所以這個調用產生的方法簽名是testOverLoad(List list),在運行時通過反射調用了這個方法。

  

  參考資料

  Java方法重載規則

  為什麼要用到重載

  關於靜態方法為什麼不能被重寫的一點思考以及overload的一些坑。

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.