Java中的方法重載(Overloading)和方法重寫(Overriding)是面向對象編程中的兩個重要概念。方法重載是指在同一個類中定義多個具有相同名稱,但參數列表不同的方法。而方法重寫則是指子類重新定義父類中已經定義的方法,這里我們用代碼舉一個例子說明。
public class Parent { public void print(String str) { System.out.println("Parent print: " + str); } } public class Child extends Parent { public void print(String str) { System.out.println("Child print: " + str); } public void print(int i) { System.out.println("Child print: " + i); } } public class Test { public static void main(String[] args) { Parent parent = new Parent(); parent.print("Hello World!"); // Parent print: Hello World! Child child = new Child(); child.print("Hello World!"); // Child print: Hello World! child.print(123); // Child print: 123 // parent調用子類中重寫的方法 parent = new Child(); parent.print("Hello World!"); // Child print: Hello World! } }
在以上的例子中,我們定義了一個父類Parent和一個子類Child,父類中定義了一個print方法,子類中重寫了該方法,并且還定義了一個新的帶有int參數的print方法。在測試類Test中,我們分別創建了一個父類對象parent和一個子類對象child。當我們調用parent.print("Hello World!");時,輸出的結果是Parent print: Hello World!,說明使用的是父類中的方法。而當我們調用child.print("Hello World!");則輸出Child print: Hello World!,使用的是子類中重寫的方法。當我們調用child.print(123);時,則輸出Child print: 123,這里就是使用的子類中定義的新方法。最后,我們把父類對象parent賦值為new Child(),然后調用其print方法,此時又使用了子類中重寫的方法,輸出結果為Child print: Hello World!
綜上所述,Java中的方法重載和方法重寫為我們提供了非常靈活的代碼編寫方式。
上一篇java重寫和權限