有以下兩種情況
1 implicit super constructor ***xx() is undefined for default constructor. must
define an explicit constructor
對於抽象類裡面,如果有自己實現的構造方法,其子類也必須實現其構造方法。
2 對於一般的類,如果其預設的構造方法是私有的,其子類也必須實現其帶有引數的構造方法。比如你要extend threadgroup類實現自己的執行緒池的時候。
以上總結一句話:如果說父類裡面沒有預設構造器,那你的子類是需要實現自己的構造器,而且跟父類裡面相同引數的預設構造器的。
關於為何子類的構造器必須呼叫父類的構造器一次的解答
一 個 空 的 構 造 函 數 看 起 來 雖 然 啥 也 沒 幹 其 實 oop的 編 繹 器 是 從 這 裡 開 始 動 工 建 造 我 們 寫 好 的 類 中 的 信 息 子 類 是 繼 成 父 類 的 子 類 就 會 包 抱 父 類 的 信 息 在 構 造 一 個 子 類 時 父 類 中 的...
Swift中子類必須包含的構造器和析構器
import foundation swift中子類必須包含的構造器 1.swift允許在父類構造器前新增required關鍵字,用於宣告所有子類必須包含該required構造器 如果沒有宣告,子類中缺省會自動包含 至於要怎麼實現父類中required構造器,沒有特殊要求 可以通過便利構造器實現,也...
子類初始化與子類構造器中的super this
用此類來記住子類的初始化和super與this的靈活運用!package basesome author 董 子類的例項化過程 結論 子類的所有的建構函式,預設都會訪問父類中空引數的建構函式。因為子類每乙個建構函式內的第一行都有一句隱式super 當父類中沒有空引數的建構函式時,子類必須手動通過su...