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.0Inside?area?for?rectangle.Area?is?:45.0
以上就是長(zhǎng)沙達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“編程實(shí)例之Java方法覆蓋”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。