在Java編程中,經常會用到重寫和重載兩個概念,雖然聽起來有些相似,但實際上它們有著很大的區別。
重寫(Override)即子類覆蓋父類中的方法,實現自己獨有的功能。在重寫中,子類必須要繼承父類中的方法名、參數、返回值、訪問修飾符等。舉個例子:
class Animal { public void shout() { System.out.println("Animal shouts!"); } } class Dog extends Animal { // 重寫父類的shout方法 public void shout() { System.out.println("Dog barks!"); } }
可以看到,子類Dog重寫了父類Animal中的shout方法,實現了獨有的功能。
而另一個概念——重載(Overload),指的是在同一個類中,根據參數的不同來區分同名方法。在重載中,方法名相同,但參數類型和個數可以不同。舉個例子:
class Calculator { public int calculate(int a, int b) { return a + b; } public int calculate(int a, int b, int c) { return a + b + c; } }
可以看到,Calculator類中有兩個calculate方法,參數個數不同,因此編譯器可以根據參數的不同自動選擇相應的方法。
綜上所述,重寫和重載兩個概念雖然有些相似,但它們的實現方式和作用是不同的。
下一篇css規避脫標流教學