| // Animal類 public class Animal { public void introduce(){ System.out.println("I am an animal!"); } } // Cat類 public class Cat extends Animal { //重寫了父類的introduce,實現了overriding public void introduce(){ System.out.println("I am a cat!"); } //實現了Overloading public void introduce(String name){ System.out.println("I am a cat, My name is : " + name); } } // Dog類 public class Dog extends Animal { //重寫了父類的introduce,實現了overriding public void introduce(){ System.out.println("I am a dog!"); } //實現了Overloading public void introduce(String name){ System.out.println("I am a dog, My name is : " + name); } } // 測試類別 public class Test { public static void main(String[] args) { //Overriding是父類與子類之間多態性的一個表現 Animal animal1 = new Animal(); Animal animal2 = new Cat(); Animal animal3 = new Dog(); animal1.introduce(); animal2.introduce(); animal3.introduce(); // animal2.introduce("JACK"); 是錯誤的用法 // animal3.introduce("JACK"); 是錯誤的用法 //Overloading是在一個類中多態性的體現 Cat cat = new Cat(); cat.introduce(); cat.introduce("JACK"); } } 運行結果如下: I am an animal! I am a cat! I am a dog! I am a cat! I am a cat, My name is : JACK |