Java是一種很流行的面向對象編程語言,其中繼承和多態是其最基本的特征之一。在本次實驗中,我們將通過編寫代碼來學習Java中繼承和多態的實現方法。
首先,我們定義一個Animal類:
public class Animal { private String name; public Animal(String name) { this.name = name; } public String getName() { return name; } public void shout() { System.out.println(name + " makes a sound!"); } }
接著,我們來定義兩個Animal的子類Dog和Cat,用來展示Java中的繼承特性:
public class Dog extends Animal { public Dog(String name) { super(name); } public void wagTail() { System.out.println(getName() + " is wagging its tail!"); } } public class Cat extends Animal { public Cat(String name) { super(name); } public void climbTree() { System.out.println(getName() + " is climbing a tree!"); } }
在這里,我們使用了super關鍵字來調用父類的構造方法,同時也添加了自己的一些特有的方法。
接下來,我們通過實例化對象來展示Java中的多態特性:
public class Test { public static void main(String[] args) { Animal animal1 = new Dog("Bob"); Animal animal2 = new Cat("Lucy"); animal1.shout(); animal2.shout(); if (animal1 instanceof Dog) { ((Dog) animal1).wagTail(); } if (animal2 instanceof Cat) { ((Cat) animal2).climbTree(); } } }
在這段代碼中,我們先聲明兩個Animal類型的引用變量,然后使用它們來實例化一個Dog對象和一個Cat對象。接著,我們通過這兩個對象調用它們從Animal繼承而來的shout()方法,從而展示出Java中的多態性。最后,我們使用instanceof關鍵字來判斷對象的類型,并將它們轉換為正確的類型,以調用Dog和Cat子類中特有的方法。
通過這個實驗,我們深入了解了Java中的繼承和多態的實現方法,這對于我們寫出更加優秀的Java程序將有很大的幫助。
上一篇java的鈍化和活化
下一篇php is type