色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java覆蓋和重載的區別總結

夏志豪1年前7瀏覽0評論

Java中的覆蓋和重載是面向對象編程中常見的概念,它們都可以用來實現多態性,但是它們還是有一些不同的,本文將對它們做一個總結。

覆蓋——Override

覆蓋的概念是子類覆蓋父類中的方法,在子類中重新定義一個與父類中同名、同參數的方法。
覆蓋的特點如下:
1.方法名和參數必須與父類方法相同;
2.返回值類型可以是父類方法返回值類型的子類;
3.子類方法的權限不能低于父類方法權限;
4.子類方法不能拋出父類方法未拋出的異常。

重載——Overload

重載的概念是定義一個與原方法名相同但參數列表不同的方法,它與覆蓋的不同之處在于其在同一類中的其他方法名是相同的,不同的僅僅是參數列表的不同。
重載的特點如下:
1.方法名稱必須相同;
2.方法的參數類型、參數數量或者參數順序必須不同;
3.與返回值類型無關;
4.可以拋出與原方法異常不同的異常。

結論

通過對兩者概念和特點的分析,可以得出結論:
1. 覆蓋是指在子類中重寫與父類同名同參數的方法,其方法體的實現不同,返回值類型也可能不同;
2. 重載是在同一類內定義了多個方法,它們的方法名相同,但是參數列表不同,區分方式常用的是參數類型和個數;
3. 覆蓋實現的是運行時多態,即在運行時根據對象的類型來確定執行哪個方法;
4. 重載實現的是編譯時多態,即在編譯時根據參數類型和個數來確定執行哪個方法。