更新時(shí)間:2020-07-20 15:59:48 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1980次
Java實(shí)例
我們之前已經(jīng)學(xué)習(xí)了Java方法的重寫,本文我們來(lái)看下Java方法覆蓋的實(shí)現(xiàn)。
方法重載與方法覆蓋區(qū)別如下:
方法重載(Overloading):如果有兩個(gè)方法的方法名相同,但參數(shù)不一致,哪么可以說(shuō)一個(gè)方法是另一個(gè)方法的重載。
方法覆蓋(Overriding):如果在子類中定義一個(gè)方法,其名稱、返回類型及參數(shù)簽名正好與父類中某個(gè)方法的名稱、返回類型及參數(shù)簽名相匹配,那么可以說(shuō),子類的方法覆蓋了父類的方法。
以下實(shí)例演示了Java方法覆蓋(Overriding)代碼的實(shí)現(xiàn):
Findareas.java文件
public?class?Findareas{
?public?static?void?main?(String?[]agrs){
?Figure?f=?new?Figure(10?,?10);
?Rectangle?r=?new?Rectangle(9?,?5);
?Figure?figref;
?figref=f;
?System.out.println("Area?is?:"+figref.area());
?figref=r;
?System.out.println("Area?is?:"+figref.area());
?}
}
class?Figure{
?double?dim1;
?double?dim2;
?Figure(double?a?,?double?b)?{
?dim1=a;
?dim2=b;
?}
?Double?area()?{
?System.out.println("Inside?area?for?figure.");
?return(dim1*dim2);
?}
}
class?Rectangle?extends?Figure?{
?Rectangle(double?a,?double?b)?{
?super(a?,b);
?}
?Double?area()?{
?System.out.println("Inside?area?for?rectangle.");
?return(dim1*dim2);
?}
}
以上代碼運(yùn)行輸出結(jié)果為:
Inside?area?for?figure.
Area?is?:100.0
Inside?area?for?rectangle.
Area?is?:45.0
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“編程實(shí)例之Java方法覆蓋”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743