Java是一種面向?qū)ο蟮木幊陶Z言,在面向?qū)ο蟮木幊讨校剌d(Overloading)和重寫(Override)是兩種非常重要的概念。它們可以幫助我們在編寫代碼時更加靈活多變,具有更高的可讀性和可維護性。
首先,我們來了解一下重載(Overloading)。
public class OverloadingExample { public void method(int n) { System.out.println("調(diào)用了方法method(int)"); } public void method(String s) { System.out.println("調(diào)用了方法method(String)"); } public void method(int n, String s) { System.out.println("調(diào)用了方法method(int, String)"); } }
以上的代碼演示了一個重載的示例。可以看到,在同一個類中,我們定義了三個名字相同但是參數(shù)不同的方法。這就是重載,也稱為方法重載。當我們通過調(diào)用方法時傳遞的參數(shù)個數(shù)或者類型不同時,Java會自動匹配符合條件的方法進行調(diào)用。這樣可以減少代碼的冗余,并增加代碼的靈活性。
接下來,我們來看一下重寫(Override)。
public class OverrideExample { public class Parent { public void method() { System.out.println("這是Parent的method方法"); } } public class Child extends Parent { public void method() { System.out.println("這是Child的method方法"); } } public static void main(String[] args) { Parent parent = new Parent(); Child child = new Child(); parent.method(); child.method(); } }
以上的代碼演示了一個重寫的示例。可以看到,我們在父類中定義了一個method方法,在子類中重寫了該方法。當我們用父類引用類型去調(diào)用method方法時,會執(zhí)行父類的method方法;而用子類引用類型去調(diào)用method方法時,會執(zhí)行子類的method方法。這樣就達到了“重寫”的效果,同樣也能夠減少代碼的冗余,提高代碼的可讀性和可維護性。