Java語言中,方法的重載(Overloading)和覆蓋(Overriding)是常見的技術。
方法的重載是指在同一個類中,有多個方法的方法名相同,但參數類型、個數、順序不同。例如:
public void print(String s) { System.out.println(s); } public void print(int i) { System.out.println(i); }
方法的重載可以提高代碼的復用性和可讀性。在調用方法時,根據參數類型和個數的不同,系統會選擇匹配的方法。
方法的覆蓋是指在子類中定義一個與父類中相同名稱、參數列表和返回值類型的方法。例如:
class Animal { public void makeSound() { System.out.println("Animal is making sound."); } } class Dog extends Animal { public void makeSound() { System.out.println("Dog is making sound."); } }
方法的覆蓋可以實現多態。當調用子類對象的方法時,系統會優先選擇子類中的方法。
總結:
- 方法重載:同一類中,方法名相同,但參數類型、個數、順序不同。
- 方法覆蓋:子類中定義一個與父類中相同名稱、參數列表和返回值類型的方法。