Java是一種強類型語言,對于同一個對象,在不同的情況下可以表現出不同的行為,這就是Java的多態特性。Java的多態是通過繼承和接口實現的。
重寫是指子類覆蓋父類的同名方法,實現子類自己的方法,但必須保持方法的參數列表、方法名和返回值類型都與父類方法相同。重寫可以讓基類中的方法對子類進行實現,可以根據情況修改行為。如果重寫方法被封閉,則必須標記為“final”。
//代碼示例 public class Animal { public void move() { System.out.println("動物可以移動"); } } public class Dog extends Animal { public void move() { System.out.println("狗可以跑和走"); } public void bark() { System.out.println("狗可以吠叫"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); // Animal 對象 Animal b = new Dog(); // Dog 對象 a.move();// 執行 Animal類的方法 b.move();//執行 Dog 類的方法 ((Dog) b).bark(); // 執行 Dog 類的方法 } }
重載是指在一個類中定義多個同名函數,但是函數參數列表不同。在重載過程中,編譯器會根據傳遞給函數的參數數量和類型選擇正確的函數。不同的重載函數可以用參數類型、參數數量和參數順序等不同屬性來區分。調用時編譯器會根據函數參數類型選出相應的函數,方法重載必須要求參數類型不同、參數數量不同或者順序不同。
//代碼示例 public class Calculate { public int sum(int a, int b) { return a + b; } public int sum(int a, int b, int c) { return a + b + c; } public double sum(double a, double b) { return a + b; } } public class TestCalculate { public static void main(String[] args) { Calculate cal = new Calculate(); int sum1 = cal.sum(1, 2); int sum2 = cal.sum(3, 4, 5); double sum3 = cal.sum(1.5, 2.7); System.out.println("sum1結果:" + sum1); System.out.println("sum2結果:" + sum2); System.out.println("sum3結果:" + sum3); } }
總結:Java的多態、重寫和重載是Java語言面向對象編程中的一些基礎的知識點。多態是Java一個強大的特性,讓我們可以在不同的對象中調用不同的方法。重寫和重載可以讓類中的方法更靈活地適應不同的需求,從而提高代碼效率和靈活性。
下一篇css中h字體顏色