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