Java中的重載和重寫是面向對象編程中常見的兩種方法,它們可以幫助程序員簡化代碼,并提高程序的靈活性和可擴展性。
重載(Overloading)是指一個類中有多個方法,它們的方法名相同但方法簽名或參數列表不同。例如:
public class Example { public int sum(int a, int b) { return a + b; } public double sum(double a, double b) { return a + b; } }
上面的例子中,Example類中定義了兩個名為sum的方法,一個接受兩個int類型的參數,另一個接受兩個double類型的參數。在調用方法時,編譯器會根據參數類型匹配相應的方法。
重寫(Overriding)是指子類重寫父類中已經有的方法。例如:
class Animal { public void move() { System.out.println("動物可以移動"); } } class Dog extends Animal { public void move() { System.out.println("狗可以跑和走"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); // Animal 對象 Animal b = new Dog(); // Dog 對象 a.move(); // 執行 Animal 類的方法 b.move(); // 執行 Dog 類的方法 } } 輸出: 動物可以移動 狗可以跑和走
在上面的例子中,Dog類重寫了Animal類中的move方法。在創建Dog類對象時,b變量的類型是Animal,但它引用了一個Dog類的對象,因此運行時將執行Dog類中的move方法。
上一篇css層漂浮起來