Java中的方法重寫(Override)和方法重載(Overload)是兩種常見的方法定義方式。雖然它們的名字很相似,但它們具有不同的含義和使用場景。
方法重寫是指在子類中重新定義父類中已有的方法,也就是說子類中的方法名稱、參數列表和返回值類型與父類中的方法相同。子類可以通過重寫方法來修改父類的定義,從而更好地滿足子類自己的需求。
public class Animal { public void sound() { System.out.println("Animal makes sound"); } } public class Dog extends Animal { public void sound() { System.out.println("Dog barks"); } }
在上面的例子中,Dog類重寫了Animal類中的sound()方法,并修改了實現內容。在程序中調用Dog類的sound()方法時,將輸出“Dog barks”。
方法重載是指在一個類中定義多個同名的方法,但參數列表不同。這些不同的方法可以在同一程序中重復使用相同的名稱來執行不同的任務。
public class Calculator { public int add(int a, int b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } public double add(double a, double b) { return a + b; } }
在上面的例子中,Calculator類中定義了三個同名的方法add(),但它們的參數列表不同。我們可以使用不同的參數來調用這些重載方法,而無需再為每種情況寫一個新的方法。
總之,方法重寫和方法重載是Java編程中很重要的概念。使用它們可以使代碼更清晰、更簡潔、更易于維護,并提高程序的效率和靈活性。