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

2021-10-03 16:38:36 字數 962 閱讀 5877

乙個類中如果沒有構造方法,預設有乙個無參構造方法,其結構為:

public 類名(

)

建立乙個父類與子類:

//父類

public

class

father

}

//子類

public

class

sonextends

father

}

public

class

test

}

則此時輸出結果為:父類構造方法 子類構造方法。

若構造方法中有存在this(),則該行**必須放在有效**行的第一行,且用於呼叫本類構造方法。故this()與super()只能存在其中乙個。

public 類名(

)

子類**變為:

public

class

sonextends

father

public

son(string letter)

}

則輸出為:父類構造方法 a 子類構造方法。

若子類構造方法沒有指明呼叫本類構造方法或父類構造方法,則預設呼叫父類無參構造方法:

//子類

public

class

sonextends

father

}

此時結果輸出不變。

1)如果父類有無參構造方法(隱式或顯式),並且子類構造方法沒有指明呼叫父類哪乙個構造方法,那麼子類中沒有呼叫該子類其他構造方法的構造方法使用super()呼叫父類無參構造方法;

2)如果父類沒有無參構造方法,則要求子類必須明確或間接指定呼叫父類的哪個方法。

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

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

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

當乙個子類繼承它的父類時,子類除了在屬性和方法上受到父類影響,在構造方法上也會受到父類影響。首先,我們如果想在子類的構造方法中呼叫父類的構造方法,應該用super 如下 父類 public class father 子類 但是如果我們把上段 中的super 去掉再執行,發現執行結果還是和上面一樣,這...

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

此時有子類在繼承父類時,第五行被注釋掉的 無論寫還是不寫,都會呼叫父類的無參構造方法。現在我們先看如下 package com.jd.service public class father package com.jd.service public class son extends father ...