国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java.8 - java -override&overload 重寫和重載

這篇具有很好參考價值的文章主要介紹了java.8 - java -override&overload 重寫和重載。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

重寫(Override)

重寫是子類對父類的允許訪問的方法的實現(xiàn)過程進行重新編寫, 返回值和形參都不能改變。即外殼不變,核心重寫!

重寫的好處在于子類可以根據(jù)需要,定義特定于自己的行為。 也就是說子類能夠根據(jù)需要實現(xiàn)父類的方法。

重寫方法不能拋出新的檢查異?;蛘弑缺恢貙懛椒ㄉ昝鞲訉挿旱漠惓?/span>。例如: 父類的一個方法申明了一個檢查異常 IOException,但是在重寫這個方法的時候不能拋出 Exception 異常,因為 Exception 是 IOException 的父類,拋出 IOException 異?;蛘?IOException 的子類異常。

方法的重寫規(guī)則:

  • 【重寫參數(shù)列表】1、參數(shù)列表與被重寫方法的參數(shù)列表必須完全相同。

  • 【重寫返回類型】2、返回類型與被重寫方法的返回類型可以不相同,但是必須是父類返回值的派生類(java5 及更早版本返回類型要一樣,java7 及更高版本可以不同)。

  • 【重寫方法的訪問權(quán)限】3、訪問權(quán)限不能比父類中被重寫的方法的訪問權(quán)限更低。例如:如果父類的一個方法被聲明為 public,那么在子類中重寫該方法就不能聲明為 protected。

  • 【重寫子類方法范圍】4、構(gòu)造方法不能被重寫。聲明為 final 的方法不能被重寫。聲明為 static 的方法不能被重寫,但是能夠被再次聲明。子類和父類在同一個包中,那么子類可以重寫父類非?private 和 final 的方法。子類和父類不在同一個包中,那么子類只能夠重寫父類的聲明為 public 和 protected 的非 final 方法。

  • 【重寫子類異常范圍】5、重寫的方法能夠拋出任何非強制異常,無論被重寫的方法是否拋出異常。但是,重寫的方法不能拋出新的強制性異常,或者比被重寫方法聲明的更廣泛的強制性異常,反之則可以。

  • 【重寫基于繼承】6、父類的成員方法只能被它的子類重寫,如果不能繼承一個類,則不能重寫該類的方法。

Super 關(guān)鍵字的使用

當需要在子類中調(diào)用父類的被重寫方法時,要使用 super 關(guān)鍵字。

重載(Overload)

重載(overloading) 是在一個類里面,方法名字相同,而參數(shù)不同。返回類型可以相同也可以不同。

每個重載的方法(或者構(gòu)造函數(shù))都必須有一個獨一無二的參數(shù)類型列表。

最常用的地方就是構(gòu)造器的重載。

重載規(guī)則:

  • 被重載的方法必須改變參數(shù)列表(參數(shù)個數(shù)或類型不一樣);
  • 被重載的方法可以改變返回類型;
  • 被重載的方法可以改變訪問修飾符;
  • 被重載的方法可以聲明新的或更廣的檢查異常;
  • 方法能夠在同一個類中或者在一個子類中被重載。
  • 無法以返回值類型作為重載函數(shù)的區(qū)分標準。

java.8 - java -override&overload 重寫和重載,2023-java,java,開發(fā)語言,spring

總結(jié)

方法的重寫(Overriding)和重載(Overloading)是java多態(tài)性的不同表現(xiàn),重寫是父類與子類之間多態(tài)性的一種表現(xiàn),重載可以理解成多態(tài)的具體表現(xiàn)形式。

  • (1)方法重載是一個類中定義了多個方法名相同,而他們的參數(shù)的數(shù)量不同或數(shù)量相同而類型和次序不同,則稱為方法的重載(Overloading)。
  • (2)方法重寫是在子類存在方法與父類的方法的名字相同,而且參數(shù)的個數(shù)與類型一樣,返回值也一樣的方法,就稱為重寫(Overriding)。
  • (3)方法重載是一個類的多態(tài)性表現(xiàn),而方法重寫是子類與父類的一種多態(tài)性表現(xiàn)。

java.8 - java -override&overload 重寫和重載,2023-java,java,開發(fā)語言,spring文章來源地址http://www.zghlxwxcb.cn/news/detail-674875.html

到了這里,關(guān)于java.8 - java -override&overload 重寫和重載的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Go語言支持重載嗎?如何實現(xiàn)重寫?

    Go語言不支持傳統(tǒng)意義上的函數(shù)和方法重載。在Go語言中,函數(shù)名或方法名不能相同但參數(shù)列表不同,因為這會導致編譯錯誤。 然而,可以通過方法重寫(override)來實現(xiàn)類似的功能。方法重寫是指在子類中定義一個與父類同名的方法,從而覆蓋父類中的方法。 下面是一個簡

    2024年04月09日
    瀏覽(21)
  • Java中方法的重載與重寫

    Java中方法的重載與重寫

    提示:這里可以添加本文要記錄的大概內(nèi)容: 方法的重載與重寫容易混,所以單獨拿出來比較 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 在同一個類中,允許定義一個以上同名的方法稱為方法重載 方法重載的規(guī)則: 方法名相同 方法的參數(shù)必須不同,參數(shù)類型或參

    2024年02月08日
    瀏覽(26)
  • java面試基礎 -- 方法重載 & 方法重寫

    java面試基礎 -- 方法重載 & 方法重寫

    目錄 重載 重寫? ? ? ? ? ?方法的重載是指在同一個類中定義多個方法, 他們具有相同的名稱, 但是具有不同的參數(shù)列表, 例如: ? ? ? ? 此處我們看到三個不同參數(shù)的, 但是具有相同返回值和方法名的方法. 有如下測試案例: 運行結(jié)果為: ?我們將其中一個myMethod方法的返回值改

    2024年02月12日
    瀏覽(22)
  • 關(guān)于Java中方法重載和方法重寫

    方法重寫是子類繼承父類(默認繼承Object類)后覆蓋父類的方法 需要保證同名 同參 同返回值 且訪問權(quán)限范圍不能縮小(publicprotecteddefaultprivate) 方法重載是同類中可以有多個同名但參數(shù)不同的方法 調(diào)用方法的時候可根據(jù)傳參情況執(zhí)行對應的方法 需要注意參數(shù)不同可以指參數(shù)數(shù)量

    2023年04月20日
    瀏覽(20)
  • java八股文面試[java基礎]—— 重載 和 重寫

    java八股文面試[java基礎]—— 重載 和 重寫

    ? Overload Override Overwrite三者區(qū)別: ? Java中,有一個名叫方法簽名的東西,它的定義是這樣的 Definition: Two of the components of a method declaration comprise the method signature—the method’s name and the parameter types. 大概意思是,方法簽名有兩部分組成——方法名和參數(shù)列表 我上面的函數(shù)的方法

    2024年02月12日
    瀏覽(28)
  • Java中方法的重載和重寫的區(qū)別。

    一、定義上的區(qū)別: 1、重載是指不同的函數(shù)使用相同的函數(shù)名,但是函數(shù)的參數(shù)個數(shù)或類型不同。調(diào)用的時候根據(jù)函數(shù)的參數(shù)來區(qū)別不同的函數(shù)。 2、覆蓋(也叫重寫)是指在派生類中重新對基類中的虛函數(shù)(注意是虛函數(shù))重新實現(xiàn)。即函數(shù)名和參數(shù)都一樣,只是函數(shù)的實

    2023年04月08日
    瀏覽(42)
  • Python中重寫(override)

    Python中,有重寫(override)的概念,但是沒有嚴格意義上的重載(overload)。 類繼承時,子類可以重新定義父類中已有的方法,稱為重寫(Override)。 在Python中,沒有像其他語言(如C++)那樣的函數(shù)重載(Overload)機制。函數(shù)重載是指在同一作用域內(nèi)允許多個函數(shù)具有相同的名

    2024年02月02日
    瀏覽(32)
  • 【JAVA雜貨鋪】一文帶你走進面向?qū)ο缶幊蘾繼承|重載|重寫|期末復習系列 | (中4)

    【JAVA雜貨鋪】一文帶你走進面向?qū)ο缶幊蘾繼承|重載|重寫|期末復習系列 | (中4)

    ??個人主頁:? Aileen_0v0 ??系列專欄 :Java學習系列專欄 ??個人格言:\\\"沒有羅馬,那就自己創(chuàng)造羅馬~\\\" ? 目錄 繼承 ?私有成員變量在繼承中的使用?編輯 ?當子類和父類變量不重名時: 當子類和父類重名時: ???總結(jié): 繼承的含義: toString方法的作用:? 重寫和重載的區(qū)別 對比狗和

    2024年02月05日
    瀏覽(122)
  • C++多態(tài)與虛擬:函數(shù)重載(Function Overloading)

    重載(Overloading):所謂重載是指不同的函數(shù)實體共用一個函數(shù)名稱。例如以下代碼所提到的CPoint之中,有兩個member functions的名稱同為x(): ?? 其兩個member functions實現(xiàn)代碼如下: 函數(shù)名稱相同,但參數(shù)不同(個數(shù)不同,型別也不同),實現(xiàn)代碼也不相同。C++之所以有function

    2024年04月25日
    瀏覽(17)
  • C++多態(tài)與虛擬:運算符重載(Operator Overloading)

    運算符重載: 與function overloading異曲同工的是,C++提供所謂的Operator overloading。所謂operators是像? ? + (加) - (減) * (乘) / (除) (位右移) (位左移)之類的符號,代表一種動作。 面對operators,我們應該把他想像是一種函數(shù),只不過形式比較特殊罷了。一般函數(shù)的參

    2024年04月25日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包