當父類構造方法有引數時

2021-10-10 14:14:18 字數 750 閱讀 2576

1.構造方法不能被繼承

2.當例項化乙個子類時,首先會呼叫父類的構造方法

3.當例項化乙個子類物件時,如果父類的構造方法帶有引數,那麼子類必須要為父類的構造方法提供引數

super指標:指向當前物件的父類。

可以使用super()的形式,在子類的構造方法中給父類的構造方法傳引數。

注意:構造方法是不能被其他方法呼叫的,所以super()的形式只能出現在構造方法中。且必須是第一條語句。

補充:super的另乙個用途:

當子類重寫父類的方法後,如果仍然需要執行父類方法中的**,那麼可以通過super關鍵字呼叫父類方法。

有引數的父類建構函式

如果父類的建構函式有引數該怎麼辦?你能夠傳值進去嗎?如果不行的話,則沒有無引數建構函式的類將不能被繼承。想象這個情景 所有的動物都有名字。所以animal這個類有個getname 可以返回name例項變數的值。此例項變數是被標記為私有的,但hippo這個子類有把getname 繼承下來。這時候問題來...

Swift子類構造方法呼叫父類構造方法

swift 中子類init呼叫父類的init方法必須寫在最後。如下例項 子類chemistry中init構造方法呼叫父類的init方法完成屬性初始化,呼叫的父類init方法super.init physics physics 必須寫在方法最後一句,否則報錯 class subjects func u...

父類構造方法對子類構造方法影響

1 乙個類中如果沒有定義構造方法,預設有乙個無參構造方法,其結構如下 public 類名 其中super 關鍵字可以省略不寫,缺省會呼叫父類無參構造方法。需要注意的是,如果乙個類中定義了乙個有參構造方法,則無參構造方法不再贈送,需要自行編寫。2 this 引數列表 呼叫本類構造方法,但必須放在有效 ...