首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 多重繼承限制:介面可多實現,類僅單繼承

     編輯:程式設計綜合問答

圖片題目:為何選項 A 錯誤?

核心規則

  • 類(class):單繼承,只能 extends 一個父類。
  • 介面(interface):多實現,可 implements 多個介面;介面間可 extends 多個父介面。

錯誤選項分析

若選項 A 為「一個類可以繼承多個父類」或「介面只能繼承一個父介面」,均違反上述規則,故錯誤。

設計原因

  1. 避免「菱形繼承」導致的狀態衝突與方法解析歧義(C++ 需虛繼承解決)。
  2. 介面無實例欄位、無建構子、無狀態,多繼承僅合併方法簽名,不產生狀態衝突。
  3. Java 8+ 引入 default 方法後,介面多繼承可能出現衝突,編譯器強制要求顯式覆寫解決,仍保持安全性。

程式碼示範

interface A { void foo(); }
interface B { void bar(); }
interface C extends A, B {} // 介面多繼承 ✅

class Base {}
// class Derived extends Base, AnotherBase {} // ❌ 編譯錯誤:類單繼承
class Derived extends Base implements A, B, C {} // 類實現多介面 ✅

記住:「類繼承是 is-a 關係,單一血統;介面實現是 can-do 契約,可組合多重能力。」

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