更新時(shí)間:2025-05-10 11:50:12作者:佚名
超載意味著超載,覆蓋意味著覆蓋,而覆蓋表示重寫。從中國的含義中,沒有區(qū)別,但是英語定義如下:
當(dāng)一個(gè)類中的兩個(gè)或多個(gè)方法具有相同的方法名稱但不同的參數(shù)時(shí),就會(huì)發(fā)生重載。
覆蓋或覆蓋意味著具有具有相同方法名稱和參數(shù)的兩種方法(即方法簽名)。其中一種方法是在父班中,另一種是在子類中。
也就是說overwrite是什么意思,過載在同一類中,并且有多個(gè)具有相同方法名稱的函數(shù)網(wǎng)校頭條,但是它們具有不同的參數(shù)(參數(shù)數(shù),類型,順序)。
雖然覆蓋和覆蓋在子類和父類之間,但子類和父類具有相同的方法名稱和參數(shù)列表,只需覆蓋方法主體即可。這是面向?qū)ο蟮木幊痰亩鄳B(tài)性。
超載規(guī)則:
(1)包含具有相同名稱的多個(gè)函數(shù),但是參數(shù)不同。
(2)參數(shù)類型,參數(shù)數(shù)量和參數(shù)順序(不同類型之間)至少有一個(gè)差異。
(3)可以更改返回值類型(不能用作超負(fù)荷判斷的基礎(chǔ))
(4)可以更改訪問修飾符(不能用作超負(fù)荷判斷的基礎(chǔ))
(5)可以更改異常類型和數(shù)字(不能用作超負(fù)荷判斷的基礎(chǔ))
重寫規(guī)則:
(1)在子類和父級(jí)之間存在
(2)子類的方法名稱和參數(shù)列表必須與父類完全相同。
(3)可以更改返回值類型,但是子類返回值類型必須是父類返回值類型的派生類。
(4)可以更改訪問修飾符,但是子類權(quán)限只能更開放。
(5)無法重寫為最終的方法。
(6)不能重寫為靜態(tài)的方法,但可以重新編寫。
(7)無法重寫構(gòu)造函數(shù)。
(8)當(dāng)子類和父類在同一軟件包中時(shí),子類可以覆蓋父類的所有方法(私有和最終)。
(9)當(dāng)子類和父類以不同的軟件包為單位時(shí),子類只能覆蓋父類的公共和受保護(hù)的非最終方法。
(10)重寫可以拋出任何非強(qiáng)制性例外,但不能比父母類方法提出新的強(qiáng)制性例外或更廣泛的異常。
強(qiáng)制性例外:必須嘗試捕捉或扔出拋出例外的部分。
非強(qiáng)制性例外:嘗試或不擲或不投擲。
在Java中,只有Runtime Exception是強(qiáng)制性例外overwrite是什么意思,其余的是非強(qiáng)制性例外。