在Java中,super是一個關(guān)鍵字,用于訪問父類中的屬性、方法或構(gòu)造函數(shù)。以下是關(guān)于super關(guān)鍵字的用法:
訪問父類中的屬性或方法: 使用super關(guān)鍵字可以訪問父類中被子類所隱藏的屬性或方法。例如,如果子類和父類中都有一個同名的屬性或方法,那么在子類中使用super關(guān)鍵字可以訪問父類中的屬性或方法。
例如,如果父類中有一個名為foo()的方法,子類也定義了一個名為foo()的方法,可以使用super.foo()來調(diào)用父類中的foo()方法。
在子類構(gòu)造函數(shù)中調(diào)用父類的構(gòu)造函數(shù): 子類構(gòu)造函數(shù)可以使用super關(guān)鍵字來調(diào)用父類的構(gòu)造函數(shù)。這通常在子類構(gòu)造函數(shù)需要初始化父類中的成員變量或執(zhí)行父類的一些操作時使用。
例如,如果父類中有一個帶參數(shù)的構(gòu)造函數(shù),子類構(gòu)造函數(shù)可以使用super關(guān)鍵字調(diào)用該構(gòu)造函數(shù),并傳遞相應(yīng)的參數(shù)。這樣可以確保父類中的成員變量得到正確的初始化。
下面是一個示例代碼,演示了如何使用super關(guān)鍵字:
在上面的示例中,Dog類繼承自Animal類。Dog類的構(gòu)造函數(shù)使用了super關(guān)鍵字來調(diào)用Animal類的構(gòu)造函數(shù),而makeSound()方法中使用了super關(guān)鍵字來調(diào)用Animal類中的makeSound()方法。