Java方法重載意思

在Java中,方法重載(Method Overloading)是一種面向對象編程的概念,它允許你在同一個類中定義多個方法,這些方法的名稱相同,但參數列表不同。這意味著你可以編寫幾個具有相同方法名的方法,但每個方法的參數的數量、類型或順序不同。

方法重載的主要目的是為具有不同輸入參數的對象提供不同的行為。Java編譯器通過檢查調用方法時的實際參數來確定應該調用哪個重載方法。

下面是一個簡單的例子,展示了如何實現方法重載:

public class OverloadingExample {
    public void display(int a) {
        System.out.println("Displaying integer: " + a);
    }

    public void display(String str) {
        System.out.println("Displaying string: " + str);
    }

    public void display(int a, int b) {
        System.out.println("Displaying two integers: " + a + ", " + b);
    }

    public static void main(String[] args) {
        OverloadingExample obj = new OverloadingExample();
        obj.display(10); // 調用第一個 display(int a) 方法
        obj.display("Hello World"); // 調用第二個 display(String str) 方法
        obj.display(10, 20); // 調用第三個 display(int a, int b) 方法
    }
}

在這個例子中,OverloadingExample 類定義了三個名為 display 的方法。每個 display 方法都接受不同的參數,因此它們是重載的。在 main 方法中,我們創建了一個 OverloadingExample 類的對象,並調用了三個不同的 display 方法,每個方法都使用不同的參數。

需要注意的是,方法重載與方法覆蓋(Method Overriding)不同。方法覆蓋發生在子類中,當子類中的方法與父類中的方法具有相同的方法簽名(即相同的返回類型、參數列表和聲明異常)時,就會發生方法覆蓋。方法覆蓋允許子類重寫父類中的方法,以提供特定的行為。

方法重載是Java中的一種靜態多態性,它是在編譯時通過檢查方法的參數來確定調用哪個方法。而方法覆蓋是Java中的一種動態多態性,它是在運行時通過對象的實際類型來確定調用哪個方法。