最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java面向?qū)ο罄^承、this與super關(guān)鍵字實(shí)例詳解

 更新時(shí)間:2026年06月22日 09:16:40   作者:2601_96363441  
本文詳細(xì)解析Java繼承的核心規(guī)則、this和super關(guān)鍵字的用法及方法重寫(xiě)規(guī)范,適合編程新手學(xué)習(xí)、復(fù)習(xí)與面試準(zhǔn)備,涵蓋單繼承機(jī)制、成員訪(fǎng)問(wèn)規(guī)則、構(gòu)造方法調(diào)用順序及權(quán)限限制等關(guān)鍵知識(shí)點(diǎn),感興趣的朋友跟隨小編一起看看吧

簡(jiǎn)介:繼承是Java面向?qū)ο笕筇匦灾?,也是?shí)現(xiàn)代碼復(fù)用、構(gòu)建類(lèi)層級(jí)關(guān)系、實(shí)現(xiàn)多態(tài)的核心基礎(chǔ)。本文詳細(xì)梳理繼承核心規(guī)則、this和super關(guān)鍵字用法、方法重寫(xiě)規(guī)范,內(nèi)容精簡(jiǎn)干貨滿(mǎn)滿(mǎn),適合新手學(xué)習(xí)、期末復(fù)習(xí)與面試復(fù)盤(pán)。

一、繼承核心概念與特性

繼承是Java面向?qū)ο笕蠛诵奶匦灾唬诵淖饔檬菍?shí)現(xiàn)代碼復(fù)用、減少冗余代碼,讓類(lèi)與類(lèi)之間形成層級(jí)從屬關(guān)系。Java通過(guò) extends 關(guān)鍵字完成繼承定義,語(yǔ)法上嚴(yán)格遵循單繼承機(jī)制:一個(gè)子類(lèi)只能直接繼承一個(gè)父類(lèi),但一個(gè)父類(lèi)可以被多個(gè)子類(lèi)繼承,有效規(guī)避了多繼承帶來(lái)的邏輯沖突。子類(lèi)繼承父類(lèi)后,可直接使用父類(lèi)中非私有(非private)的成員變量和成員方法,父類(lèi)私有成員僅能在父類(lèi)內(nèi)部訪(fǎng)問(wèn),無(wú)法被子類(lèi)繼承和調(diào)用。除此之外,繼承是Java實(shí)現(xiàn)多態(tài)機(jī)制的核心前提,為后續(xù)程序拓展提供了基礎(chǔ)支撐。
繼承基礎(chǔ)代碼示例

// 父類(lèi)
class Father {
    // 非私有成員,可被子類(lèi)繼承
    public String name = "父類(lèi)成員";
    public void show() {
        System.out.println("父類(lèi)通用方法");
    }
    // 私有成員,無(wú)法被子類(lèi)繼承
    private void privateMethod() {
        System.out.println("父類(lèi)私有方法");
    }
}
// 子類(lèi)繼承父類(lèi)
class Son extends Father {
    // 子類(lèi)獨(dú)有成員
    public int age = 18;
}
public class Test {
    public static void main(String[] args) {
        Son son = new Son();
        // 調(diào)用繼承的父類(lèi)成員
        System.out.println(son.name);
        son.show();
        // 調(diào)用子類(lèi)自身成員
        System.out.println(son.age);
    }
}

二、this與super關(guān)鍵字核心用法

在Java繼承體系中,this 和 super 是一對(duì)核心關(guān)鍵字,分別對(duì)應(yīng)本類(lèi)和父類(lèi)的資源調(diào)用,精準(zhǔn)解決了繼承中的成員調(diào)用沖突問(wèn)題。this 代表當(dāng)前本類(lèi)對(duì)象,可用于調(diào)用本類(lèi)的成員變量、成員方法、本類(lèi)構(gòu)造方法,用于區(qū)分局部變量和成員變量。super 代表父類(lèi)對(duì)象,專(zhuān)門(mén)用于訪(fǎng)問(wèn)父類(lèi)的屬性、普通方法和構(gòu)造方法。重點(diǎn)規(guī)則:子類(lèi)的所有構(gòu)造方法中,第一行都會(huì)默認(rèn)隱藏 super() 無(wú)參構(gòu)造語(yǔ)句,會(huì)優(yōu)先執(zhí)行父類(lèi)無(wú)參構(gòu)造,完成父類(lèi)資源初始化,再執(zhí)行子類(lèi)構(gòu)造邏輯,保證繼承體系的完整性。
this、super 關(guān)鍵字代碼示例

class Father {
    public String info = "父類(lèi)屬性";
    public Father() {
        System.out.println("父類(lèi)無(wú)參構(gòu)造執(zhí)行");
    }
}
class Son extends Father {
    public String info = "子類(lèi)屬性";
    public Son() {
        // 默認(rèn)隱藏 super(),優(yōu)先調(diào)用父類(lèi)無(wú)參構(gòu)造
        System.out.println("子類(lèi)構(gòu)造執(zhí)行");
    }
    public void showInfo() {
        this.info;  // 調(diào)用本類(lèi)(子類(lèi))屬性
        super.info; // 調(diào)用父類(lèi)屬性
        System.out.println("本類(lèi)屬性:" + this.info);
        System.out.println("父類(lèi)屬性:" + super.info);
    }
}
public class TestDemo {
    public static void main(String[] args) {
        new Son().showInfo();
    }
}

**

三、方法重寫(xiě)核心規(guī)則

**

方法重寫(xiě)(Override)是子類(lèi)基于繼承拓展功能的核心操作,指子類(lèi)對(duì)父類(lèi)中已有的非私有、非靜態(tài)、非final普通方法進(jìn)行重新實(shí)現(xiàn),用于適配子類(lèi)獨(dú)有的業(yè)務(wù)邏輯,讓方法功能更貼合子類(lèi)特性。方法重寫(xiě)有嚴(yán)格的語(yǔ)法規(guī)范:子類(lèi)重寫(xiě)方法的訪(fǎng)問(wèn)權(quán)限不能比父類(lèi)更嚴(yán)格(如父類(lèi)public,子類(lèi)不能改為protected/private),且方法名、參數(shù)列表、返回值必須與父類(lèi)保持一致。核心禁忌:父類(lèi)被private修飾的私有方法無(wú)法被重寫(xiě),僅為父類(lèi)內(nèi)部使用。合理的方法重寫(xiě)是實(shí)現(xiàn)多態(tài)、提升程序拓展性的關(guān)鍵。
方法重寫(xiě)代碼示例(含權(quán)限規(guī)則演示)

class Animal {
// 父類(lèi)公共方法,允許重寫(xiě)
public void eat() {
System.out.println(“動(dòng)物進(jìn)食”);
}
// 私有方法,無(wú)法被重寫(xiě)
private void sleep() {
System.out.println(“動(dòng)物睡覺(jué)”);
}
}
// 子類(lèi)重寫(xiě)父類(lèi)方法
class Cat extends Animal {
// 重寫(xiě)父類(lèi)方法,權(quán)限與父類(lèi)一致(合法)
@Override
public void eat() {
// 子類(lèi)獨(dú)有業(yè)務(wù)邏輯
System.out.println(“小貓吃魚(yú)干”);
}
}
public class OverrideTest {
public static void main(String[] args) {
Animal animal = new Cat();
// 運(yùn)行子類(lèi)重寫(xiě)后的方法
animal.eat();
}
}

四、核心知識(shí)點(diǎn)總結(jié)*

繼承核心:通過(guò)extends關(guān)鍵字實(shí)現(xiàn),Java僅支持單繼承,核心價(jià)值是代碼復(fù)用、消除冗余;

  • 繼承范圍:子類(lèi)僅繼承父類(lèi)非私有成員,private私有成員無(wú)法被繼承和直接訪(fǎng)問(wèn);
  • 關(guān)鍵字作用:this指代當(dāng)前本類(lèi)對(duì)象,super指代父類(lèi)對(duì)象;子類(lèi)構(gòu)造默認(rèn)優(yōu)先執(zhí)行super()調(diào)用父類(lèi)無(wú)參構(gòu)造;
  • 重寫(xiě)規(guī)則:子類(lèi)重寫(xiě)父類(lèi)非私有方法,權(quán)限不能比父類(lèi)嚴(yán)格,私有方法、靜態(tài)方法、final方法不可重寫(xiě);
  • 核心關(guān)聯(lián):繼承構(gòu)建類(lèi)的層級(jí)關(guān)系,是Java實(shí)現(xiàn)多態(tài)機(jī)制的必要前置條件。

到此這篇關(guān)于Java面向?qū)ο罄^承、this與super關(guān)鍵字實(shí)例詳解的文章就介紹到這了,更多相關(guān)Java this與super關(guān)鍵字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java去掉數(shù)字字符串開(kāi)頭的0三種方法(推薦)

    Java去掉數(shù)字字符串開(kāi)頭的0三種方法(推薦)

    下面小編就為大家?guī)?lái)一篇Java去掉數(shù)字字符串開(kāi)頭的0三種方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • mybatis返回類(lèi)型map時(shí)如何將key大寫(xiě)轉(zhuǎn)為小寫(xiě)

    mybatis返回類(lèi)型map時(shí)如何將key大寫(xiě)轉(zhuǎn)為小寫(xiě)

    這篇文章主要介紹了mybatis返回類(lèi)型map時(shí)實(shí)現(xiàn)將key大寫(xiě)轉(zhuǎn)為小寫(xiě)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java自動(dòng)生成編號(hào)的實(shí)現(xiàn)(格式:yyMM+四位流水號(hào))

    java自動(dòng)生成編號(hào)的實(shí)現(xiàn)(格式:yyMM+四位流水號(hào))

    這篇文章主要介紹了java自動(dòng)生成編號(hào)的實(shí)現(xiàn)(格式:yyMM+四位流水號(hào)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • IDEA提示`SQL dialect is not configured`的問(wèn)題分析及解決方案

    IDEA提示`SQL dialect is not configured`的問(wèn)題

    在Java開(kāi)發(fā)中,尤其是使用IntelliJ IDEA或MyBatis等框架時(shí),開(kāi)發(fā)者常會(huì)遇到 SQL dialect is not configured 的警告或錯(cuò)誤,這一問(wèn)題不僅影響代碼的高亮和智能提示功能,還可能導(dǎo)致表結(jié)構(gòu)解析失敗、語(yǔ)法校驗(yàn)失效等問(wèn)題,需要的朋友可以參考下
    2025-06-06
  • Java實(shí)現(xiàn)文件上傳的方法總結(jié)

    Java實(shí)現(xiàn)文件上傳的方法總結(jié)

    這篇文章主要為大家介紹了三種Java實(shí)現(xiàn)文件上傳的方法,文中的示例代碼講解詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的借鑒價(jià)值,感興趣的可以了解一下
    2023-04-04
  • Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果

    Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 深入理解Spring事務(wù)的隔離級(jí)別

    深入理解Spring事務(wù)的隔離級(jí)別

    Spring 事務(wù)的隔離級(jí)別是一個(gè)重要的概念,它定義了事務(wù)之間的隔離程度,以防止并發(fā)問(wèn)題(如臟讀、不可重復(fù)讀和幻讀),本文給大家介紹Spring事務(wù)的隔離級(jí)別,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • java中初始化MediaRecorder的實(shí)現(xiàn)方法

    java中初始化MediaRecorder的實(shí)現(xiàn)方法

    這篇文章主要介紹了java中初始化MediaRecorder的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • MyBatis中#{}和${}的區(qū)別詳解

    MyBatis中#{}和${}的區(qū)別詳解

    mybatis和ibatis總體來(lái)講都差不多的。下面小編給大家探討下mybatis中#{}和${}的區(qū)別,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • vue+springboot上傳文件、圖片、視頻及回顯到前端詳解

    vue+springboot上傳文件、圖片、視頻及回顯到前端詳解

    一般來(lái)說(shuō)vue可以使用axios或者fetch等ajax庫(kù)發(fā)送文件請(qǐng)求,而springboot則可以使用Spring MVC的方式來(lái)處理上傳文件請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于vue+springboot上傳文件、圖片、視頻及回顯到前端的相關(guān)資料,需要的朋友可以參考下
    2023-04-04

最新評(píng)論

改则县| 新和县| 望谟县| 邢台市| 龙南县| 梁山县| 什邡市| 黄陵县| 临洮县| 博客| 姚安县| 无极县| 阳泉市| 绍兴县| 衢州市| 临江市| 盐山县| 阿拉尔市| 木里| 富蕴县| 贞丰县| 寻乌县| 开鲁县| 拉孜县| 远安县| 娄烦县| 师宗县| 南昌市| 高雄市| 托克逊县| 上饶市| 湾仔区| 阿图什市| 麦盖提县| 瑞昌市| 舟曲县| 安丘市| 个旧市| 遂昌县| 仁布县| 新绛县|