軟工計算1—Java篇1 20240513

陆舟LandBoat發表於2024-05-13

Java中的函式過載

函式過載(Function Overloading)是物件導向程式設計中的一個概念,它允許在同一個類中定義多個同名函式,但這些函式的引數列表必須不同。引數列表的不同可以體現在引數的型別、數量或順序上。函式過載使得程式設計更加靈活,可以針對不同的引數型別或數量提供不同的函式實現。
Java支援函式過載,下面是一個簡單的例子:

public class OverloadExample {

    // 第一個版本的print方法,接受一個整數引數
    public void print(int a) {
        System.out.println("Integer: " + a);
    }

    // 第二個版本的print方法,接受一個雙精度浮點數引數
    public void print(double a) {
        System.out.println("Double: " + a);
    }

    // 第三個版本的print方法,接受一個字串引數
    public void print(String a) {
        System.out.println("String: " + a);
    }

    // 測試函式過載
    public static void main(String[] args) {
        OverloadExample example = new OverloadExample();
        example.print(10);    // 呼叫第一個版本的print方法
        example.print(20.5);  // 呼叫第二個版本的print方法
        example.print("Hello"); // 呼叫第三個版本的print方法
    }
}

在這個例子中,OverloadExample 類有三個名為 print 的方法,但它們接受不同型別的引數:一個接受 int 型別,一個接受 double 型別,另一個接受 String 型別。當我們在 main 方法中呼叫 print 方法時,編譯器會根據提供的引數型別來決定呼叫哪個版本的 print 方法。

函式過載是編譯時多型的一個例子,也稱為靜態多型或前繫結,因為在編譯時就已經確定了呼叫哪個函式。與之相對的是執行時多型(動態多型或後繫結),它主要透過方法的動態繫結實現,常見於方法的繼承和介面實現中。

相關文章