更新時(shí)間:2022-11-14 10:44:34 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1502次
相信大家對(duì)Java super的定義已經(jīng)有所了解,Java中的super關(guān)鍵字是一個(gè)引用變量,用于引用直接父類對(duì)象。
每當(dāng)您創(chuàng)建子類的實(shí)例時(shí),都會(huì)隱式創(chuàng)建父類的實(shí)例,該實(shí)例由超引用變量引用。
super 可用于引用直接父類實(shí)例變量。
super 可用于調(diào)用直接父類方法。
super() 可用于調(diào)用直接父類構(gòu)造函數(shù)。
我們可以使用 super 關(guān)鍵字來(lái)訪問(wèn)父類的數(shù)據(jù)成員或字段。如果父類和子類具有相同的字段,則使用它。
動(dòng)物 類{
字符串顏色= “白色” ;
}
類 狗 擴(kuò)展 動(dòng)物{
字符串顏色= “黑色” ;
無(wú)效 打印顏色(){
System.out.println(color); //打印Dog類的顏色
System.out.println( super .color); //打印Animal類的顏色
}
}
類 TestSuper1{
公共靜態(tài)無(wú)效 主要(字符串參數(shù)[]){
狗 d=新 狗();
d.printColor();
}}
輸出:
黑色的
白色的
在上面的例子中,Animal 和 Dog 兩個(gè)類都有一個(gè)共同的屬性 color。如果我們打印顏色屬性,它會(huì)默認(rèn)打印當(dāng)前類的顏色。要訪問(wèn)父屬性,我們需要使用 super 關(guān)鍵字。
super 關(guān)鍵字也可以用于調(diào)用父類方法。如果子類包含與父類相同的方法,則應(yīng)使用它。換句話說(shuō),如果方法被覆蓋,則使用它。
動(dòng)物 類{
無(wú)效 吃(){System.out.println(“吃...” );}
}
類 狗 擴(kuò)展 動(dòng)物{
void eat(){System.out.println( "吃面包..." );}
void bark(){System.out.println( "吠叫..." );}
無(wú)效 工作(){
超級(jí).eat();
吠();
}
}
類 TestSuper2{
公共靜態(tài)無(wú)效 主要(字符串參數(shù)[]){
狗 d=新 狗();
d.work();
}}
輸出:
吃...
叫聲...
在上面的例子中,Animal 和 Dog 兩個(gè)類都有eat() 方法,如果我們從Dog 類調(diào)用eat() 方法,它會(huì)默認(rèn)調(diào)用Dog 類的eat() 方法,因?yàn)閮?yōu)先級(jí)是local。
要調(diào)用父類方法,我們需要使用 super 關(guān)鍵字。
super 關(guān)鍵字也可以用來(lái)調(diào)用父類的構(gòu)造函數(shù)。讓我們看一個(gè)簡(jiǎn)單的例子:
動(dòng)物 類{
Animal(){System.out.println( "創(chuàng)建了動(dòng)物" );}
}
類 狗 擴(kuò)展 動(dòng)物{
狗(){
超級(jí)();
System.out.println( "狗被創(chuàng)建" );
}
}
類 TestSuper3{
公共靜態(tài)無(wú)效 主要(字符串參數(shù)[]){
狗 d=新 狗();
}}
輸出:
動(dòng)物被創(chuàng)造出來(lái)
狗被創(chuàng)造出來(lái)
以上就是關(guān)于“Java中關(guān)鍵字super的用法”介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下本站的Java教程,里面還有更豐富的知識(shí)等著大家去學(xué)習(xí),相信對(duì)大家一定會(huì)有所幫助的。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)