在Java中,重寫(Override)和重載(Overload)是常用的兩個技術。不同的應用場景需要使用不同的技術,下面我們將介紹一些常見的使用場景:
1. 方法重載的應用場景
public class Test{ public int add(int a, int b){ return a + b; } public double add(double a, double b){ return a + b; } } Test test = new Test(); int result1 = test.add(1, 2); // 調用int add(int a, int b) double result2 = test.add(1.2, 2.4); // 調用double add(double a, double b)
我們可以看到,方法重載的應用場景是在參數列表不同的情況下,可以使用相同的方法名稱,提高代碼的可讀性和可維護性。
2. 方法重寫的應用場景
class Animal{ public void eat(){ System.out.println("Animal is eating."); } } class Dog extends Animal{ public void eat(){ System.out.println("Dog is eating."); } } Animal animal = new Animal(); Dog dog = new Dog(); animal.eat(); // 輸出:Animal is eating. dog.eat(); // 輸出:Dog is eating.
我們可以看到,方法重寫的應用場景是在父子類之間存在相同的方法名稱和參數列表,但是子類需要實現自己的方法邏輯。通過方法重寫,可以實現多態性和動態綁定,提高程序的靈活性和可擴展性。