面試趣聞之重載(Overload)和重寫(Override)的區別。重載的方法能否根據返回類型進行區分?


重載和重寫都是多態性的體現,區別是重載是編譯時的多態性,重寫是運行時的多態性;

重載:只發生在一個類中,通過同名方法名不同參數類型或者參數個數來區分

重寫:發生在父類和子類之間,重寫要求子類的重寫方法必須和父類被重寫方法有相同的返回類型,比父類的方法更好訪問,不能比父類被重寫的方法聲明更多的異常,而重載沒有返回類型的特殊要求

重載的方法能否根據返回類型進行區分?

不可以,如果用返回類型區分 如果同一個類中public void test1(){}和publiv String test1(){return "";}(編譯不通過)假如編譯通過,當提出方法時 類.test1 無法識別調用的是哪個方法

 

文章摘自JAVA面試寶典


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM