Java是一門面向對象的編程語言,其中的重寫(Override)和重載(Overload)是面向對象編程中的重要概念。
所謂重寫,就是指在子類中重新定義了父類中已經存在的方法,子類繼承了父類的方法,但是如果子類覺得這個方法與自己的實際需求不符,可以重新編寫這個方法,這就稱為重寫。
class Animal { void move() { System.out.println("動物可以移動"); } } class Dog extends Animal { void move() { System.out.println("狗可以跑和走"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); Animal b = new Dog(); a.move(); b.move(); } }
在上面的例子中,Animal類中有一個move方法,子類Dog繼承了Animal類,并重新定義了move方法,輸出的結果就變成了“狗可以跑和走”。這就是重寫的一個典型示例。
而重載,指的是在類中可以存在多個同名的方法,但是它們的參數列表不同,這就是方法的重載。在執行重載方法時,Java編譯器會根據傳入的參數列表選擇合適的方法進行執行。
class MathFunction { int sum(int x, int y) { return x + y; } int sum(int x, int y, int z) { return x + y + z; } } public class TestMath { public static void main(String[] args) { MathFunction math = new MathFunction(); int a = math.sum(2, 3); int b = math.sum(2, 3, 4); System.out.println(a); System.out.println(b); } }
上面的例子中,MathFunction類中定義了兩個名字相同但是參數數量不同的sum方法。在程序運行時,根據傳入的不同參數,編譯器會選擇合適的方法進行執行,輸出相應的結果。
綜上所述,重寫和重載是Java語言中常見的面向對象編程概念,開發人員可以根據實際需要靈活使用。
下一篇css規則對話框內容