資源描述:
《1_09 java 面向?qū)ο蟮姆庋b 繼承 多態(tài)(2)new》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、封裝,接口,繼承,覆蓋,構(gòu)造過程,多態(tài),static、this、super、final用法一、封裝(encapsulation)定義:封裝就是將客戶端不應(yīng)看到的信息包裹起來。使內(nèi)部執(zhí)行對(duì)外部來看不一種不透明的、是一個(gè)黑箱,客戶端不需要內(nèi)部資源就能達(dá)到他的目的。1.事物的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)隱藏起來2.對(duì)外提供一致的公共的接口――間接訪問隱藏?cái)?shù)據(jù)3.可維護(hù)性?--------------------------------------------------------------------------------二、繼承(inherit)JAVA繼承特點(diǎn)?繼承:父類的成員能否繼
2、承到子類???對(duì)類成員訪問的限制及子類繼承情況:(從嚴(yán)到寬)private私有,本類內(nèi)部?不能繼承(default)本類+同包?同包子類可繼承protected本類+同包+子類可以繼承public公開??任何地方都可以訪問能繼承到子類?--------------------------------------------------------------------------------覆蓋?1、定義:覆蓋了一個(gè)方法并且對(duì)其重寫,以求達(dá)到不同的作用。2、用法:a、最熟悉的覆蓋就是對(duì)接口方法的實(shí)現(xiàn)b、在繼承中也可能會(huì)在子類覆蓋父類中的方法3、產(chǎn)生“覆蓋”的條件:1、方
3、法名:相同2、參數(shù)表:相同(個(gè)數(shù),類型)3、訪問限制符:相同或者更寬4、返回值類型:相同或者子類返回的類型是父類返回的類型的子類5、不能拋出比subclass(父類)更多的異常注意:當(dāng)我們?cè)谧宇愔袆?chuàng)建的靜態(tài)方法,它并不會(huì)覆蓋父類中相同名字的靜態(tài)方法。classParent{?publicvoidnonStaticMethod()?{???System.out.println("Parent'sNon-StaticMethodisCalled");?}??publicstaticvoidstaticMethod()?{???System.out.println("paren
4、t'sstaticmethodiscalled");?}}classChildextendsParent{?publicvoidnonStaticMethod()?{??System.out.println("child'snon-staticmethodiscalled");?}?publicstaticvoidstaticMethod()?{???System.out.println("child'sstaticmethodiscalled");?}?}publicclassTest{????????publicstaticvoidmain(Stringargs[])
5、????????{?????????Parentp1=newParent();?????????Parentp2=newChild();?????????Childc=newChild();?????????System.out.print("Parent.static:");Parent.staticMethod();?????????System.out.print("p1.static:");p1.staticMethod();?????????System.out.print("p2.static:");p2.staticMethod();?????????Sys
6、tem.out.print("p1.nonStatic:");p1.nonStaticMethod();?????????System.out.print("p2.nonStatic:");p2.nonStaticMethod();?????????System.out.print("Child.static:");Child.staticMethod();?????????System.out.print("c.static:");c.staticMethod();?????????System.out.print("c.nonStatic:");c.nonStatic
7、Method();????????}}程序的運(yùn)行結(jié)果為:Parent.static:parent'sstaticmethodiscalledp1.static:parent'sstaticmethodiscalledp2.static:parent'sstaticmethodiscalledp1.nonStatic:Parent'sNon-StaticMethodisCalledp2.nonStatic:child'snon-staticmethodiscalledChild.static:child'sstaticmetho