在Java 繼承中,超類別(父類別)是通用類,定義了物件的行為和屬性,而子類別(衍生類別)從超類別繼承並擴展其功能。子類別可以使用超類別的非私有成員,並且可以覆寫超類別的方法。
多態:
#多態性允許一個物件的行為根據其實際類型而改變。在 Java 中,子類別物件可以被指派給超類別對象,當呼叫超類別方法時,實際執行的方法取決於物件的實際類型。
多態的優點:
多態的挑戰:
最佳實踐:
常見誤解:
範例:
考慮以下範例:
class Shape { protected String name; public void draw() { System.out.println("Drawing a shape"); } } class Rectangle extends Shape { public void draw() { super.draw(); System.out.println("Drawing a rectangle"); } } class Circle extends Shape { public void draw() { super.draw(); System.out.println("Drawing a circle"); } } public class Main { public static void main(String[] args) { Shape s1 = new Rectangle(); Shape s2 = new Circle(); s1.draw(); // Prints "Drawing a rectangle" s2.draw(); // Prints "Drawing a circle" } }
在這個範例中,Shape 是超類,定義了通用行為和屬性。 Rectangle 和 Circle 是從 Shape 繼承的子類,它們擴展了 Shape 的行為。 main 方法建立兩個 Shape 對象,一個分配給 Rectangle,另一個分配給 Circle。當呼叫 draw() 方法時,執行的實際方法取決於物件的實際類型,展示了多態性。
以上是Java 繼承的迷宮:導覽超類別、子類別和多型的詳細內容。更多資訊請關注PHP中文網其他相關文章!