Java是一種功能強大、靈活且易于學習的編程語言。其中最重要的兩個特性就是重用和多態。在實際的開發中,可以通過不同的方式實現代碼的重用和多態,本文將討論一些具體的實驗來體現這些特性。
// 示例1:通過繼承實現多態 class Animal { public void makeSound() { System.out.println("動物發出聲音"); } } class Cat extends Animal { public void makeSound() { System.out.println("喵喵喵"); } } class Dog extends Animal { public void makeSound() { System.out.println("汪汪汪"); } } public class PolymorphismExperiment1 { public static void main(String[] args) { Animal animal; animal = new Cat(); animal.makeSound(); // 輸出:喵喵喵 animal = new Dog(); animal.makeSound(); // 輸出:汪汪汪 } }
在示例1中,通過繼承實現了多態。在Animal類中,定義了makeSound()方法,在Cat和Dog類中分別重寫了該方法。在主方法中,分別創建了Cat和Dog的實例并賦值給Animal類型的變量,然后分別調用了makeSound()方法。這里使用了動態綁定機制,確保了程序的正確性。
// 示例2:通過接口實現重用 interface Swim { void swim(); } class Fish implements Swim { public void swim() { System.out.println("魚游泳"); } } public class ReuseExperiment1 { public static void main(String[] args) { Swim animal; animal = new Fish(); animal.swim(); // 輸出:魚游泳 } }
在示例2中,通過接口Swim實現了代碼的重用。Fish類實現了Swim接口,并實現了swim()方法。在主方法中,創建了Fish實例,并將其賦值給Swim類型的變量,然后調用了swim()方法。通過接口,可以很方便地實現代碼的重用,甚至可以使用一個類實現多個接口。