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

java重寫(xiě)(@Override)介紹以及舉例說(shuō)明

 更新時(shí)間:2024年01月02日 11:45:43   作者:西晉的no1  
這篇文章主要給大家介紹了關(guān)于java重寫(xiě)(@Override)介紹以及舉例說(shuō)明的相關(guān)資料,在Java中@Override注解用于表示方法重寫(xiě)(覆蓋)了父類(lèi)的方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

1.概述

方法的重寫(xiě)(override)是封裝的特性之一。在子類(lèi)中可以根據(jù)需要對(duì)基類(lèi)中繼承來(lái)的方法進(jìn)行重寫(xiě)。重載和重寫(xiě)沒(méi)有任何關(guān)系。

作用:通過(guò)重寫(xiě),子類(lèi)既可以繼承父類(lèi)的東西,又可以靈活的擴(kuò)充。

1.@override注解是告訴編譯器,下面的方法是重寫(xiě)父類(lèi)的方法

2.編譯器可以給你驗(yàn)證@Override下面的方法名是否是你父類(lèi)中所有的,如果沒(méi)有則報(bào)錯(cuò)。例如,你如果沒(méi)寫(xiě)@Override,而你下面的方法名又寫(xiě)錯(cuò)了,這時(shí)你的編譯器是可以編譯通過(guò)的,因?yàn)榫幾g器以為這個(gè)方法是你的子類(lèi)中自己增加的方法。

3.如果不寫(xiě)@override注解去直接重寫(xiě)方法,編譯器是不會(huì)判斷你是不是正確重寫(xiě)了父類(lèi)中的方法的。如重寫(xiě)方法時(shí)參數(shù)與父類(lèi)不同,程序是不會(huì)提示報(bào)錯(cuò)的。這會(huì)留下一個(gè)潛在的bug。當(dāng)你寫(xiě)了@override注解時(shí),程序會(huì)判斷你是否正確的重寫(xiě)了父類(lèi)的對(duì)應(yīng)方法。而且加上此注解后,程序會(huì)自動(dòng)屏蔽父類(lèi)的方法。

2.特點(diǎn)

  • 在子類(lèi)中可以根據(jù)需要對(duì)基類(lèi)中繼承來(lái)的方法進(jìn)行重寫(xiě)。

  • 重寫(xiě)方法必須和被重寫(xiě)方法具有相同方法名稱、參數(shù)列表和返回值類(lèi)型。

  • 重寫(xiě)方法不能使用比被重寫(xiě)方法更嚴(yán)格的訪問(wèn)權(quán)限。(由于多態(tài))

3.實(shí)例說(shuō)明

代碼如下:

public class Animal {
    String name;

    void eat() {
        System.out.println("have a good dinner");
    }

    public static void main(String[] args) {
        Birds b = new Birds();
        b.eat();
    }
}

class Birds extends Animal {
    @Override
    void eat() {
        super.eat(); // 調(diào)用父類(lèi)的方法
        System.out.println("----------------------------------------"); // 分隔線
        System.out.println("jiujiujiu");
    }

    void fly() {
        System.out.println("Yeah,I can fly~~");
    }
}

代碼說(shuō)明:

鳥(niǎo)類(lèi)Birds在eat的時(shí)候,需要輸出jiujiujiu。可通過(guò)重寫(xiě)父類(lèi)Animal中的eat()方法實(shí)現(xiàn)。

通過(guò)Bird實(shí)例調(diào)用eat()方法時(shí),是調(diào)用重寫(xiě)后的方法。

之前的父類(lèi)的方法呢?其實(shí)還存在,可以在子類(lèi)中通過(guò)super進(jìn)行調(diào)用。

運(yùn)行結(jié)果:

have a good dinner
----------------------------------------
jiujiujiu

附:加不加@override有什么區(qū)別

如果不寫(xiě)@override注解去直接重寫(xiě)方法,編譯器是不會(huì)判斷你是不是正確重寫(xiě)了父類(lèi)中的方法的。如重寫(xiě)方法時(shí)參數(shù)與父類(lèi)不同,程序是不會(huì)提示報(bào)錯(cuò)的。這會(huì)留下一個(gè)潛在的bug。當(dāng)你寫(xiě)了@override注解時(shí),程序會(huì)判斷你是否正確的重寫(xiě)了父類(lèi)的對(duì)應(yīng)方法。而且加上此注解后,程序會(huì)自動(dòng)屏蔽父類(lèi)的方法。

總結(jié)

到此這篇關(guān)于java重寫(xiě)(@Override)介紹以及舉例說(shuō)明的文章就介紹到這了,更多相關(guān)java重寫(xiě)@Override內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Spring中bean實(shí)例化的三種方式

    詳解Spring中bean實(shí)例化的三種方式

    本篇文章主要介紹了詳解Spring中bean實(shí)例化的三種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • cmd中javac和java使用及注意事項(xiàng)詳解

    cmd中javac和java使用及注意事項(xiàng)詳解

    這篇文章主要介紹了cmd中javac和java使用及注意事項(xiàng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Mybatis-plus中IService接口的基本使用步驟

    Mybatis-plus中IService接口的基本使用步驟

    Mybatis-plus是一個(gè)Mybatis的增強(qiáng)工具,它提供了很多便捷的方法來(lái)簡(jiǎn)化開(kāi)發(fā),IService是Mybatis-plus提供的通用service接口,封裝了常用的數(shù)據(jù)庫(kù)操作方法,包括增刪改查等,下面這篇文章主要給大家介紹了關(guān)于Mybatis-plus中IService接口的基本使用步驟,需要的朋友可以參考下
    2023-06-06
  • 詳解Spring?延遲初始化遇到的問(wèn)題

    詳解Spring?延遲初始化遇到的問(wèn)題

    這篇文章主要介紹了我們?cè)谑褂肧pring延遲初始化容易遇到的問(wèn)題,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的可以借鑒一下
    2023-05-05
  • Java Mybatis框架Dao層的實(shí)現(xiàn)與映射文件以及核心配置文件詳解分析

    Java Mybatis框架Dao層的實(shí)現(xiàn)與映射文件以及核心配置文件詳解分析

    MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過(guò)簡(jiǎn)單的 XML 或注解來(lái)配置和映射原始類(lèi)型、接口和 Java POJO為數(shù)據(jù)庫(kù)中的記錄
    2021-10-10
  • Java?Mybatis使用resultMap時(shí),屬性賦值順序錯(cuò)誤的巨坑

    Java?Mybatis使用resultMap時(shí),屬性賦值順序錯(cuò)誤的巨坑

    這篇文章主要介紹了Java?Mybatis使用resultMap時(shí),屬性賦值順序錯(cuò)誤的巨坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • rabbitmq之無(wú)法自動(dòng)創(chuàng)建隊(duì)列的問(wèn)題及解決過(guò)程

    rabbitmq之無(wú)法自動(dòng)創(chuàng)建隊(duì)列的問(wèn)題及解決過(guò)程

    文章描述了一項(xiàng)目使用RabbitMQ但僅使用發(fā)送功能未監(jiān)聽(tīng),導(dǎo)致啟動(dòng)時(shí)無(wú)自動(dòng)創(chuàng)建隊(duì)列的問(wèn)題,作者通過(guò)手動(dòng)連接RabbitMQ配置隊(duì)列信息來(lái)解決此問(wèn)題,并提供了一種測(cè)試可用的方法,此方法僅為作者個(gè)人經(jīng)驗(yàn),僅供參考
    2026-05-05
  • 基于SpringBoot+FFmpeg+ZLMediaKit實(shí)現(xiàn)本地視頻推流

    基于SpringBoot+FFmpeg+ZLMediaKit實(shí)現(xiàn)本地視頻推流

    文章介紹了如何在服務(wù)器上安裝和配置ZLMediaKit和FFmpeg,以及如何使用SpringBoot實(shí)現(xiàn)視頻推流和播放功能,包括環(huán)境準(zhǔn)備、后端實(shí)現(xiàn)和使用說(shuō)明,涵蓋了推流和播放的完整流程,需要的朋友可以參考下
    2025-11-11
  • Spring注解驅(qū)動(dòng)之@EventListener注解使用方式

    Spring注解驅(qū)動(dòng)之@EventListener注解使用方式

    這篇文章主要介紹了Spring注解驅(qū)動(dòng)之@EventListener注解使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 使用JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式

    使用JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式

    這篇文章主要介紹了依靠JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論

崇州市| 原阳县| 垦利县| 昌黎县| 尼木县| 宣汉县| 河池市| 乌审旗| 海安县| 治县。| 延安市| 乡宁县| 灌阳县| 图们市| 元氏县| 东明县| 渭南市| 德清县| 东海县| 托克托县| 三穗县| 绥芬河市| 依兰县| 错那县| 南宫市| 屯昌县| 峨眉山市| 榕江县| 包头市| 新蔡县| 湘乡市| 余姚市| 股票| 确山县| 乡城县| 桑植县| 松阳县| 同心县| 鹤峰县| 崇州市| 千阳县|