首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 繼承機制:重用介面與 extends 關鍵字

     編輯:Java 相關知識

繼承的目標:克隆並擴充既有型別

建立新型別時,若能克隆既有型別並修改/擴充,比從零開始強太多。繼承正是為此設計:

  • 關鍵字:extends;
  • 新類別(子類別/衍生類別)自動擁有基底類別(父類別/超類別)的所有非 private 成員;
  • 關鍵點:複製了基底類別的介面—— 可對基底類別發送的訊息,對衍生類別也合法。

型別等價:多型的基石

因介面相同,衍生類別具有與基底類別相同的型別。這不是單純的程式碼複製,而是型別系統層面的等價,支援向上轉型與動態繫結。

兩種區分衍生類別的方式

1. 新增方法(擴充介面)

class ExtendedShape extends Shape {
    void rotate() { ... } // Shape 無此方法
}

最簡單、最常用。但需謹慎:基底類別真的不需要這功能嗎?

2. 覆寫方法(改變行為)

class Circle extends Shape {
    @Override void draw() { ... } // 實作圓形繪製邏輯
}

保持介面不變,改變具體行為。這是多型的核心用法。

繼承 vs 組合

繼承是「是一種」關係,強耦合(編譯期綁定)。組合(Composition/包含)是「有一個」關係,鬆耦合(執行期可動態替換成員物件)。優先考慮組合,必要時才繼承。

總結

Java 透過 extends 實現繼承:自動取得基底介面、支援型別等價、允許擴充與覆寫。理解「介面重用」而非單純「程式碼重用」,是掌握物件導向設計的關鍵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved