override和overload的區(qū)別:
轉(zhuǎn)自:http://blog.csdn.net/zimo2013/article/details/8863746
1.override覆寫(xiě)
一般是用于子類(lèi)在繼承父類(lèi)時(shí),重寫(xiě)(重新實(shí)現(xiàn))父類(lèi)中的方法。
重寫(xiě)(覆蓋)的規(guī)則:
(1).重寫(xiě)方法的參數(shù)列表必須完全與被重寫(xiě)的方法的相同,否則不能稱(chēng)其為重寫(xiě)而是重載;
(2).重寫(xiě)方法的訪問(wèn)修飾符一定要大于被重寫(xiě)方法的訪問(wèn)修飾符(public>protected>default>private);
(3).重寫(xiě)的方法的返回值類(lèi)型必須和被重寫(xiě)的方法的返回值類(lèi)型一致;
(4).重寫(xiě)的方法所拋出的異常必須和被重寫(xiě)方法的所拋出的異常一致,或者是其子類(lèi);
(5).被重寫(xiě)的方法不能為private,否則在其子類(lèi)中只是新定義了一個(gè)方法,并沒(méi)有對(duì)其進(jìn)行重寫(xiě)。
入口嚴(yán)格必須一致,出口不能可以子類(lèi)。
2.overload重載
一般是用于在一個(gè)類(lèi)內(nèi)實(shí)現(xiàn)若干重載的方法,方法名相同而參數(shù)形式不同,重載的規(guī)則:
(1).在使用重載時(shí)只能通過(guò)相同的方法名、不同的參數(shù)形式實(shí)現(xiàn)。不同的參數(shù)類(lèi)型可以是不同的參數(shù)類(lèi)型,不同的參數(shù)個(gè)數(shù),不同的參數(shù)順序(參數(shù)類(lèi)型必須不一樣);
(2).不能通過(guò)訪問(wèn)權(quán)限、返回類(lèi)型、拋出的異常進(jìn)行重載;
(3).方法的異常類(lèi)型和數(shù)目不會(huì)對(duì)重載造成影響。
區(qū)分的標(biāo)準(zhǔn)只能為入口。