重載和重寫都是多態性的體現,區別是重載是編譯時的多態性,重寫是運行時的多態性;
重載:只發生在一個類中,通過同名方法名不同參數類型或者參數個數來區分
重寫:發生在父類和子類之間,重寫要求子類的重寫方法必須和父類被重寫方法有相同的返回類型,比父類的方法更好訪問,不能比父類被重寫的方法聲明更多的異常,而重載沒有返回類型的特殊要求
重載的方法能否根據返回類型進行區分?
不可以,如果用返回類型區分 如果同一個類中public void test1(){}和publiv String test1(){return "";}(編譯不通過)假如編譯通過,當提出方法時 類.test1 無法識別調用的是哪個方法
文章摘自JAVA面試寶典
