構造器,子類中必須要實現的有哪幾種情況

2021-06-26 02:04:48 字數 337 閱讀 8006

有以下兩種情況

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...