Java是一門面向對象的編程語言,它支持兩個重要概念:重載和重寫。這兩個概念都是多態性的體現,能夠提高代碼的靈活性和可重用性。
重載(Overloading)是指在同一個類中可以定義多個同名的方法,但這些方法必須擁有不同的參數列表。重載的方法在調用時會根據傳入的不同參數列表自動匹配到相應的方法。例如:
public class Overloading { public void test(int x) { System.out.println("int參數:" + x); } public void test(double y) { System.out.println("double參數:" + y); } public static void main(String[] args) { Overloading o = new Overloading(); o.test(10); o.test(3.14); } }
以上程序中定義了兩個同名方法test,一個接收int類型的參數,一個接收double類型的參數。在main方法中分別調用了這兩個方法,程序輸出:
int參數:10 double參數:3.14
重寫(Overriding)是指在子類中定義一個與父類方法名、返回類型和參數列表都相同的方法,用于覆蓋父類中的方法。重寫的方法必須具有相同的方法簽名,返回類型可以相同或是子類類型。例如:
public class Overriding { public void printMessage() { System.out.println("這是父類的方法"); } public static void main(String[] args) { Son s = new Son(); s.printMessage(); } } class Son extends Overriding { public void printMessage() { System.out.println("這是子類的方法"); } }
以上程序中父類Overriding中定義了一個printMessage方法,子類Son中重寫了這個方法并實現了不同的功能。在main方法中創建了一個Son對象,并調用其printMessage方法,程序輸出:
這是子類的方法
總結來說,重載和重寫都是Java中比較重要的概念,它們能夠提高代碼的靈活性和可重用性,使得我們能夠更加高效地編寫程序。