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

Java中final、static關(guān)鍵字與方法的重寫和繼承易錯(cuò)點(diǎn)整理

 更新時(shí)間:2024年10月23日 09:01:08   作者:小強(qiáng)在此  
這篇文章主要給大家介紹了關(guān)于Java中final、static關(guān)鍵字與方法的重寫和繼承易錯(cuò)點(diǎn)的相關(guān)資料,在Java編程中final關(guān)鍵字用于限制方法或類的進(jìn)一步修改,final方法不能被子類重寫,而static方法不可被重寫,只能被遮蔽,需要的朋友可以參考下

1.final方法不能被重寫

如果父類中的方法被聲明為final,那么這個(gè)方法就不能被子類重寫。嘗試在子類中定義與父類final方法同名、同參數(shù)列表、同返回類型(或子類型)的方法會(huì)導(dǎo)致編譯錯(cuò)誤。

class Parent {  
    final void show() {  
        System.out.println("Parent show()");  
    }  
}  

class Child extends Parent {  
    // 編譯錯(cuò)誤:無法重寫final方法  
    @Override // @Override注解會(huì)觸發(fā)編譯器檢查,但在這里不適用  
    void show() {  
        System.out.println("Child show()");  
    }  
}

2.static方法不是重寫,而是遮蔽

static方法不能被重寫,因?yàn)樵贘ava中,static方法是類方法,而不是實(shí)例方法。如果你在子類中定義了與父類同名的static方法,那么這實(shí)際上是在子類中遮蔽了父類的static方法,而不是重寫它。

class Parent {  
    static void show() {  
        System.out.println("Parent show()");  
    }  
}  

class Child extends Parent {  
    // 這不是重寫,而是遮蔽  
    static void show() {  
        System.out.println("Child show()");  
    }  
}

3.final與static的組合

當(dāng)一個(gè)方法同時(shí)被聲明為final和static時(shí),它仍然是一個(gè)類方法,不能被重寫,也不能被子類中的同名方法所遮蔽(因?yàn)閟tatic方法總是通過類名來引用,所以子類中的同名static方法會(huì)被視為新的方法,而不是對(duì)父類方法的遮蔽)。但是,由于final的限制,這個(gè)組合實(shí)際上限制了任何嘗試在子類中定義同名方法的嘗試,因?yàn)閒inal禁止了重寫,而static則使得方法調(diào)用與實(shí)例無關(guān)。

class Parent {  
    final static void show() {  
        System.out.println("Parent show()");  
    }  
}  

class Child extends Parent {  
    // 嘗試定義同名方法會(huì)導(dǎo)致編譯錯(cuò)誤,因?yàn)閒inal禁止了重寫,而static使得方法調(diào)用與實(shí)例無關(guān)  
    // static void show() { ... } // 編譯錯(cuò)誤  
}

4.final與繼承

==final類不能被繼承。==如果你試圖繼承一個(gè)被聲明為final的類,編譯器會(huì)報(bào)錯(cuò)。

final class FinalClass {  
    // ...  
}  

class AnotherClass extends FinalClass {  
    // 編譯錯(cuò)誤:FinalClass是final的,不能被繼承  
}

5.static與繼承

雖然static方法不能被重寫,==但static變量(字段)是可以被子類繼承的。==不過,子類不能直接修改繼承自父類的static變量(除非在子類中聲明了一個(gè)同名的static變量來遮蔽它)。子類可以通過類名來訪問父類的static變量,也可以通過子類的類名來訪問(如果子類沒有遮蔽它的話)。

class Parent {  
    static int value = 10;  
}  

class Child extends Parent {  
    // 這里沒有遮蔽Parent.value  
    // Child.value 仍然引用的是 Parent.value  
}

總之,理解final、static以及它們與重寫和繼承之間的關(guān)系對(duì)于編寫清晰、可維護(hù)的Java代碼至關(guān)重要。

總結(jié)

到此這篇關(guān)于Java中final、static關(guān)鍵字與方法的重寫和繼承易錯(cuò)點(diǎn)整理的文章就介紹到這了,更多相關(guān)final、static關(guān)鍵字方法重寫和繼承內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java使用觀察者模式實(shí)現(xiàn)氣象局高溫預(yù)警功能示例

    Java使用觀察者模式實(shí)現(xiàn)氣象局高溫預(yù)警功能示例

    這篇文章主要介紹了Java使用觀察者模式實(shí)現(xiàn)氣象局高溫預(yù)警功能,結(jié)合完整實(shí)例形式分析了java觀察者模式實(shí)現(xiàn)氣象局高溫預(yù)警的相關(guān)接口定義、使用、功能操作技巧,并總結(jié)了其設(shè)計(jì)原則與適用場合,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • Java線程池配置原則與實(shí)戰(zhàn)解析

    Java線程池配置原則與實(shí)戰(zhàn)解析

    本文詳細(xì)介紹了Java線程池的配置原則和實(shí)戰(zhàn)建議,主要內(nèi)容包括核心參數(shù)解析、任務(wù)類型配置、等待隊(duì)列選擇策略、行業(yè)實(shí)踐參考、配置步驟和檢查清單、SpringBoot配置示例以及黃金法則是,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • Java隨機(jī)值設(shè)置(java.util.Random類或Math.random方法)

    Java隨機(jī)值設(shè)置(java.util.Random類或Math.random方法)

    在編程中有時(shí)我們需要生成一些隨機(jī)的字符串作為授權(quán)碼、驗(yàn)證碼等,以確保數(shù)據(jù)的安全性和唯一性,這篇文章主要給大家介紹了關(guān)于Java隨機(jī)值設(shè)置的相關(guān)資料,主要用的是java.util.Random類或Math.random()方法,需要的朋友可以參考下
    2024-08-08
  • 聊聊springboot中如何自定義消息轉(zhuǎn)換器

    聊聊springboot中如何自定義消息轉(zhuǎn)換器

    SpringBoot通過HttpMessageConverter處理HTTP數(shù)據(jù)轉(zhuǎn)換,支持多種媒體類型,接下來通過本文給大家介紹springboot中如何自定義消息轉(zhuǎn)換器,感興趣的朋友一起看看吧
    2025-08-08
  • SpringBoot與docker的結(jié)合的示例

    SpringBoot與docker的結(jié)合的示例

    本篇文章主要介紹了SpringBoot與docker的結(jié)合的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Java簡單使用EasyExcel操作讀寫excel的步驟與要點(diǎn)

    Java簡單使用EasyExcel操作讀寫excel的步驟與要點(diǎn)

    相信現(xiàn)在很多搞后端的同學(xué)大部分做的都是后臺(tái)管理系統(tǒng),那么管理系統(tǒng)就肯定免不了Excel的導(dǎo)出導(dǎo)入功能,下面這篇文章主要給大家介紹了關(guān)于Java簡單使用EasyExcel操作讀寫excel的步驟與要點(diǎn),需要的朋友可以參考下
    2022-09-09
  • Java中對(duì)象序列化與反序列化詳解

    Java中對(duì)象序列化與反序列化詳解

    這篇文章主要介紹了Java中對(duì)象序列化與反序列化,較為詳細(xì)的分析了java中對(duì)象序列化的概念、原理、實(shí)現(xiàn)方法及相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • java不解壓直接讀取壓縮包中文件的實(shí)現(xiàn)方法

    java不解壓直接讀取壓縮包中文件的實(shí)現(xiàn)方法

    這篇文章主要介紹了java不解壓直接讀取壓縮包中文件的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Mybatis-Plus select不列出全部字段的方法

    Mybatis-Plus select不列出全部字段的方法

    這篇文章主要介紹了Mybatis-Plus select不列出全部字段的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • java比較器comparator使用示例分享

    java比較器comparator使用示例分享

    這篇文章主要介紹了java比較器comparator使用示例,需要的朋友可以參考下
    2014-03-03

最新評(píng)論

咸丰县| 会同县| 泗洪县| 淳化县| 馆陶县| 武山县| 衡阳市| 定远县| 镇康县| 岳西县| 澜沧| 黄大仙区| 上饶市| 阿坝| 汉寿县| 漾濞| 陇西县| 安徽省| 镶黄旗| 东乌珠穆沁旗| 小金县| 河北省| 绥棱县| 黄山市| 宁南县| 禄丰县| 伽师县| 崇义县| 建瓯市| 建湖县| 巩留县| 长治县| 顺平县| 府谷县| 高碑店市| 南郑县| 临江市| 肃北| 留坝县| 卢湾区| 宣威市|