在Java中,重載(Overloading)和重寫(Overriding)是兩個非常重要的概念。它們都是面向對象編程的關鍵特征,讓程序員能夠更加靈活地使用Java語言。
重載是指在同一個類中可以定義多個方法名相同但參數列表不同的方法。例如:
public class MyClass { public void myMethod(int a) { // Code here } public void myMethod(String s) { // Code here } }
在上面的例子中,我們定義了兩個名字相同但參數不同的方法。這就是重載。當我們調用這個方法時,Java會自動根據參數類型或數量判斷應該調用哪個方法。
重寫則是指在子類中重新定義了一個父類中已有的方法。例如:
public class Animal { public void makeSound() { System.out.println("The animal makes a sound"); } } public class Dog extends Animal { public void makeSound() { System.out.println("The dog barks"); } }
在這個例子中,我們定義了一個Animal類和一個Dog類。Dog類繼承了Animal類,并且重寫了Animal類中的makeSound()方法。當我們在程序中調用Dog類的makeSound()方法時,它將輸出“the dog barks”,而不是父類中的“the animal makes a sound”。
總之,重載和重寫是Java中非常重要的概念。它們使得我們能夠更好地組織和重用代碼,同時也讓我們能夠更加靈活地編寫程序。