Java 是一門面向?qū)ο蟮木幊陶Z言,擁有繼承和多態(tài)兩個重要的特性。
繼承是指可以從一個已有的類中派生出新的類,新的類繼承了原有類的屬性和方法。這種機(jī)制使得代碼重復(fù)性降低,可以大大提高代碼的可復(fù)用性和可維護(hù)性。
public class Animal { public void eat() { System.out.println("吃飯"); } } public class Dog extends Animal { public void bark() { System.out.println("汪汪叫"); } } public class Cat extends Animal { public void meow() { System.out.println("喵喵叫"); } }
在這個例子中,我們定義了一個 Animal 類,并在它的基礎(chǔ)上派生出了兩個子類 Dog 和 Cat。Dog 和 Cat 都擁有 Animal 類的 eat() 方法,而各自還有各自的特殊方法 bark() 和 meow()。
多態(tài)是指可以將子類對象看作是父類對象使用。通過多態(tài),同一個方法可以在不同情況下表現(xiàn)出不同的行為,這樣可以提高代碼的靈活性和可擴(kuò)展性。
public class Test { public static void main(String[] args) { Animal a = new Dog(); a.eat(); //a.bark(); 編譯錯誤,父類類型不能調(diào)用子類方法 Dog d = (Dog)a; d.bark(); } }
在這個例子中,我們創(chuàng)建了一個 Animal 類型的變量 a,并使用它來引用一個 Dog 類型的對象。由于 Dog 本身是 Animal 的子類,所以通過多態(tài),我們可以使用 a 來調(diào)用 eat() 方法。但是由于 Animal 類型不能直接調(diào)用 Dog 類型的方法 bark(),所以需要將 a 強(qiáng)制轉(zhuǎn)換為 Dog 類型才能使用 d 來調(diào)用 bark() 方法。
通過繼承和多態(tài),Java 可以很好地解決面向?qū)ο缶幊讨械膯栴},而且非常適合用來開發(fā)大型的軟件系統(tǒng)。