java子類繼承父類實(shí)例 父類中有構(gòu)造函數(shù)子類繼承時必須定義子類的構(gòu)造方法嗎?
父類中有構(gòu)造函數(shù)子類繼承時必須定義子類的構(gòu)造方法嗎?這取決于具體情況。1。如果父類沒有定義參數(shù)化構(gòu)造函數(shù)(或者有參數(shù)化構(gòu)造方法,但沒有參數(shù)化構(gòu)造方法),則子類不需要顯式定義構(gòu)造方法。2. 如果父類顯式
父類中有構(gòu)造函數(shù)子類繼承時必須定義子類的構(gòu)造方法嗎?
這取決于具體情況。
1。如果父類沒有定義參數(shù)化構(gòu)造函數(shù)(或者有參數(shù)化構(gòu)造方法,但沒有參數(shù)化構(gòu)造方法),則子類不需要顯式定義構(gòu)造方法。
2. 如果父類顯式定義了參數(shù)化構(gòu)造方法,但沒有顯示無參數(shù)構(gòu)造方法,則子類必須顯式定義參數(shù)化構(gòu)造方法,并使用super(XX)在構(gòu)造方法中顯式調(diào)用父類的參數(shù)化構(gòu)造方法
1。根據(jù)面向?qū)ο罄^承的概念,子類繼承父類的所有屬性和方法。
2. 因?yàn)闃?gòu)造函數(shù)非常特殊,調(diào)用它就像調(diào)用C函數(shù),而不是使用對象。
3. 如您所見,在Java中,您可以使用super關(guān)鍵字訪問這個類的父類的構(gòu)造方法。證明了子類繼承了Java中父類的構(gòu)造方法,子類可以通過super訪問父類的構(gòu)造方法,只要父類的構(gòu)造方法不是私有的。