Java是一種面向對象的編程語言,它支持很多重要的編程概念,其中包括重載(overloading)和重寫(overriding)。雖然這兩者聽起來相似,但它們有著不同的含義和作用。
重載是指在同一個類中定義多個方法,這些方法具有相同的名稱,但是它們的參數列表不同。例如:
public void display(int n) { System.out.println("The number is " + n); } public void display(String s) { System.out.println("The string is " + s); }
這兩個方法都叫做display,但是它們的參數不同。在Java中,編譯器會根據調用方法時傳入的參數的類型和數量來匹配合適的方法。
重寫是指一個子類覆蓋了它的父類中的同名方法,以實現不同的行為。例如:
class Animal { public void speak() { System.out.println("Animal is speaking."); } } class Cat extends Animal { public void speak() { System.out.println("Meow."); } }
在這個例子中,Cat類繼承了Animal類,并重寫了它的speak方法。當我們調用Cat實例的speak方法時,它會輸出“Meow”,而不是Animal類中的默認行為。
總的來說,重載和重寫是Java中非常重要的概念,它們可以幫助我們更好地實現多態。在使用這些特性時,我們需要注意命名、參數以及繼承關系等方面的細節,以確保程序的正確性。