在Java中,重寫和重載是面向?qū)ο缶幊讨械膬蓚€重要概念,它們雖然擁有相似的名稱,但是卻有著不同的含義。在此我們將重點(diǎn)討論重寫和重載的區(qū)別。
重載是Java中一個方法可以擁有相同的名稱,但是參數(shù)列表不同的情況。例如:
public int add(int a, int b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; }
其中,第一個方法的參數(shù)列表是兩個int變量,第二個方法的參數(shù)列表是三個int變量。雖然它們方法名相同,但是由于參數(shù)列表不同,所以在Java中是可以同時存在的。
而重寫則是子類中重新定義父類中已經(jīng)實(shí)現(xiàn)的方法。這種方法擁有相同的名稱、參數(shù)列表和返回類型。例如:
public class Animal { public void eat() { System.out.println("Animal is eating."); } } public class Cat extends Animal { public void eat() { System.out.println("Cat is eating."); } }
在這里,類Cat繼承了類Animal,它重新定義了父類中的eat方法。當(dāng)我們調(diào)用eat方法時,Cat類的eat方法會覆蓋父類中的eat方法,這種方法也被稱為方法重寫。
在總體上,重載和重寫各有其特點(diǎn),在Java中會經(jīng)常使用到它們,可以有效地提高程序的靈活性。