更新時間:2022-11-14 10:44:34 來源:動力節(jié)點 瀏覽1497次
相信大家對Java super的定義已經(jīng)有所了解,Java中的super關(guān)鍵字是一個引用變量,用于引用直接父類對象。
每當(dāng)您創(chuàng)建子類的實例時,都會隱式創(chuàng)建父類的實例,該實例由超引用變量引用。
super 可用于引用直接父類實例變量。
super 可用于調(diào)用直接父類方法。
super() 可用于調(diào)用直接父類構(gòu)造函數(shù)。
我們可以使用 super 關(guān)鍵字來訪問父類的數(shù)據(jù)成員或字段。如果父類和子類具有相同的字段,則使用它。
動物 類{
字符串顏色= “白色” ;
}
類 狗 擴展 動物{
字符串顏色= “黑色” ;
無效 打印顏色(){
System.out.println(color); //打印Dog類的顏色
System.out.println( super .color); //打印Animal類的顏色
}
}
類 TestSuper1{
公共靜態(tài)無效 主要(字符串參數(shù)[]){
狗 d=新 狗();
d.printColor();
}}
輸出:
黑色的
白色的
在上面的例子中,Animal 和 Dog 兩個類都有一個共同的屬性 color。如果我們打印顏色屬性,它會默認打印當(dāng)前類的顏色。要訪問父屬性,我們需要使用 super 關(guān)鍵字。
super 關(guān)鍵字也可以用于調(diào)用父類方法。如果子類包含與父類相同的方法,則應(yīng)使用它。換句話說,如果方法被覆蓋,則使用它。
動物 類{
無效 吃(){System.out.println(“吃...” );}
}
類 狗 擴展 動物{
void eat(){System.out.println( "吃面包..." );}
void bark(){System.out.println( "吠叫..." );}
無效 工作(){
超級.eat();
吠();
}
}
類 TestSuper2{
公共靜態(tài)無效 主要(字符串參數(shù)[]){
狗 d=新 狗();
d.work();
}}
輸出:
吃...
叫聲...
在上面的例子中,Animal 和 Dog 兩個類都有eat() 方法,如果我們從Dog 類調(diào)用eat() 方法,它會默認調(diào)用Dog 類的eat() 方法,因為優(yōu)先級是local。
要調(diào)用父類方法,我們需要使用 super 關(guān)鍵字。
super 關(guān)鍵字也可以用來調(diào)用父類的構(gòu)造函數(shù)。讓我們看一個簡單的例子:
動物 類{
Animal(){System.out.println( "創(chuàng)建了動物" );}
}
類 狗 擴展 動物{
狗(){
超級();
System.out.println( "狗被創(chuàng)建" );
}
}
類 TestSuper3{
公共靜態(tài)無效 主要(字符串參數(shù)[]){
狗 d=新 狗();
}}
輸出:
動物被創(chuàng)造出來
狗被創(chuàng)造出來
以上就是關(guān)于“Java中關(guān)鍵字super的用法”介紹,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下本站的Java教程,里面還有更豐富的知識等著大家去學(xué)習(xí),相信對大家一定會有所幫助的。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743