在Java中,方法重寫(Method Override)和方法重載(Method Overload)是面向對象編程的重要概念。它們可以讓我們寫出更加靈活和復雜的代碼,提高程序的可讀性和可維護性。
方法重寫
方法重寫是指子類重寫父類的方法,使得子類可以根據自己的需要,改寫父類的行為。 方法重寫的規則如下: 1、子類的方法名、參數列表和返回類型必須與父類的方法名、參數列表和返回類型相同。 2、子類的訪問修飾符不能比父類的訪問修飾符更為嚴格。 3、子類的異常類型必須是父類異常類型的子集。 4、父類的方法必須是非final的。 以下是一個簡單的方法重寫的例子:
class Animal { public void move() { System.out.println("Animal can move"); } } class Dog extends Animal { @Override public void move() { super.move(); System.out.println("Dog can move"); } } public class TestDog { public static void main(String args[]) { Animal animal = new Animal(); Dog dog = new Dog(); animal.move(); dog.move(); } }
上面的例子中,Dog類繼承了Animal類,并重寫了move()方法。在重寫move()方法時,可以使用super關鍵字調用父類的方法。執行main方法將輸出以下結果:
Animal can move Animal can move Dog can move
方法重載
方法重載是指在同一個類中,有多個方法名相同但參數列表不同的方法。方法重載的規則如下: 1、同一類中,方法名相同、參數列表不同。 2、返回類型可以相同也可以不同。 3、方法調用時,Java編譯器將根據參數列表的不同,確定調用哪個方法。 以下是一個簡單的方法重載的例子:
public class Example { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } } public class TestExample { public static void main(String[] args) { Example example = new Example(); System.out.println(example.add(1, 2)); System.out.println(example.add(1.1, 2.2)); } }
上面的例子中,Example類中有兩個名字相同,但參數列表不同的add方法。執行main方法將輸出以下結果:
3 3.3
總之,在Java中,方法重寫和方法重載是實現多態的兩種方式。使用它們可以大大增加程序的靈活性和可讀性。
上一篇css作品怎么樣