Java中的重寫和重載是面向對象編程中非常重要的概念,它們能夠提高代碼的復用性和效率。
重寫是指子類繼承父類后,重寫父類中已有的方法。通過重寫可以改寫繼承自父類的方法的實現,使得子類可以根據自己的需要來定制自己的方法。在使用父類的對象時,調用重寫的方法時,就會執行子類自己的方法,而不是父類的方法,從而發揮了多態性的作用。
public class Animal { public void makeSound(){ System.out.println("Animal makes sound"); } } public class Dog extends Animal { public void makeSound(){ System.out.println("Dog barks"); } } Animal animal = new Dog(); animal.makeSound(); // 輸出 "Dog barks"
重載是指在一個類中定義多個同名方法,但每個方法有不同的參數類型、個數或順序。通過重載可以讓一個方法在不同的情況下按不同的方式工作。當我們調用一個重載的方法時,編譯器能夠根據參數的不同類型、個數和順序,自動選擇最匹配的方法。
public class MathUtil { public static int add(int a, int b){ return a + b; } public static int add(int a, int b, int c){ return a + b + c; } public static double add(double a, double b){ return a + b; } } MathUtil.add(1, 2); // 輸出 3 MathUtil.add(1, 2, 3); // 輸出 6 MathUtil.add(1.2, 2.3); // 輸出 3.5
通過重寫和重載,可以讓代碼更加靈活和具有可擴展性,使得子類可以根據自身特有的需求和特征,實現自己的方法,從而達到代碼復用的目的,提高了程序的可讀性和可維護性。