在Java中,方法重寫和方法重載是兩種常用的方法定義方式。雖然它們都涉及到方法的重復定義,但是它們的實現方式和使用方法卻有著很大的不同。
方法重寫指的是在父類中定義的方法,在子類中進行重新定義,以適應子類的具體需求。這個過程中,子類必須使用與父類中被重寫的方法相同的方法名、參數列表和返回類型。方法重寫實現的語法格式如下:
public class Animal { public void move(){ System.out.println("動物可以移動"); } } public class Dog extends Animal{ public void move(){ System.out.println("狗可以跑和走"); } } public class TestDog{ public static void main(String args[]){ Animal a = new Animal(); // Animal 對象 Animal b = new Dog(); // Dog 對象 a.move();// 執行 Animal 類的方法 b.move();//執行 Dog 類的方法 } }
方法重載可以理解為在同一個類中定義多個同名方法,但是這些方法的參數列表不同。方法重載可以實現方法的更加靈活,同時提高編程的效率。方法重載實現的語法格式如下:
public class Calculator { public int add(int x, int y){ return x + y; } public int add(int x, int y, int z){ return x + y + z; } public double add(double x, double y){ return x + y; } }
總結來說,方法重載和方法重寫的區別在于方法名相同,參數列表不同的是方法重載,而方法名相同,參數列表相同的是方法重寫。同時,方法重載只能在一個類中進行,而方法重寫一般是在繼承關系中使用。