Java中的重寫(Override)和重載(Overload)是實現多態的兩種方式。但是重寫和重載并不等同于多態,它們是多態的實現方式之一。
// 重寫示例 class Animal{ void sound(){ System.out.println("Animal makes a sound."); } } class Dog extends Animal{ void sound(){ System.out.println("Dog barks."); } } Animal animal = new Dog(); animal.sound(); // 輸出 "Dog barks." // 重載示例 class Adder{ int add(int a, int b){ return a + b; } double add(double a, double b){ return a + b; } } Adder adder = new Adder(); int result1 = adder.add(1, 2); // 輸出3 double result2 = adder.add(1.5, 2.5); // 輸出4.0
重寫(Override)是子類對父類方法的重新實現,子類中的方法名、參數、返回值均與父類方法相同,但對方法體進行了修改。重寫實現多態的原理是子類對象中的方法會覆蓋父類對象中的同名方法,而且在運行時會調用子類對象中的方法。
重載(Overload)是在同一個類中定義多個方法,方法名相同但參數的類型和個數不同。當調用該方法時,根據傳入的參數自動匹配合適的方法進行調用。重載實現多態的原理是在程序運行時自動根據傳入參數的類型和個數確定具體調用哪個方法。
在Java中,重載和重寫都是多態實現的方式之一。但是多態并不局限于重寫和重載,還有接口實現、抽象類實現等方式,并且多態也不單單是實現多個方法,還包括使用多個對象和方法參數的多態性。
下一篇css控制li的數量