資源描述:
《java基礎(chǔ)(抽象類)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、抽象類Java中的類是從萬事萬物抽象出的模板,當(dāng)這種模板某些行為不能具體描述,原因是它形態(tài)各異,這就需要在子類去具體實(shí)現(xiàn),這樣的類可以定義為抽象類關(guān)于抽象類的說明:1-只繼承,須在子類重寫,覆蓋父類2-abstract方法只定義,無主體3-抽象類不能被實(shí)例化即不能new出對象可創(chuàng)建引用4-子類需實(shí)現(xiàn)父類所有抽象方法,否則需聲明為抽象類5-抽象類中不一定要包含abstract方法有抽象方法一定是抽象類publicabstractclass形狀{privateStringname;public形狀(Stiringname
2、){this?n3mQ=2me;}publicabstractdoublearea();publicStringtoString(){returnString?format(”%s白勺面積:%?2f”)t}}publicclass長方形extends形狀{privatedoublewidth;privatedoubleheight;public長方形(doublewidth,doubleheight)‘.his?name,area());super("長方形”);this?width=width;this?heigh
3、t=height;}@Overridepublicdoublearea(){returnthis?height.width;}}publicclass圓extends形狀{privatedoubleradius;public圓(doubleradius){super("圓");this?radius=radius;@Overridepublicdoublearea(){returnMath?PFradius^radius;}}publicclassTestAsbtract{publicstaticvoidmain(S
4、tring[]args)形狀shape=new長方形(8.05445,2.0);System?out.printIn(shape);shape=new圓(5?0);System.out.printIn(shape);接口:接口是某一事物對外提供一些方法的聲明(特殊的抽象類)接口的實(shí)現(xiàn)者去實(shí)現(xiàn)具體的功能接口調(diào)用者只需使用這些功能而不關(guān)心具體的實(shí)現(xiàn)細(xì)節(jié)關(guān)于接口的說明:1-方法只聲明,無主體;不能實(shí)例化2-變量默認(rèn)publicstaticHnal須初始化3-方法默認(rèn)publicabstract1-多實(shí)現(xiàn)(被多個(gè)類實(shí)現(xiàn),一個(gè)
5、類可實(shí)現(xiàn)多個(gè)接口)2-一個(gè)類實(shí)現(xiàn)接口時(shí),須實(shí)現(xiàn)接口中所有方法,否則須聲明為abstract6“可多繼承interfaceIAextendsIB,IC7-接口可以作為參數(shù)//聲明一個(gè)INetWork接口提供上網(wǎng)的一些功能//至于具體功能怎么實(shí)現(xiàn)由接口實(shí)現(xiàn)者具體實(shí)現(xiàn)publicinterfaceINetwork{//變量默認(rèn)publicstaticfinal須初始化StringMSG=”上網(wǎng)//方法默認(rèn)publicabstract//方法只聲明,無主體voidlistenMusic();//聽音樂voidchat();/
6、/聊天}//打印接口publicinterfaceIPrinter{voidprint();//打印功能}publicclassProduction{protectedStringname;protectedStringexplain;//產(chǎn)品說明publicProduction(Stringname,Stringexplain){this?n3me=n3me;this?explain=explain;publicStringgetInfo(){returnString?format(nname:%stexplai
7、n:%s%n!ame,explain);}}//接口實(shí)現(xiàn)者publicclassMobilePhoneextendsProductionimplementsINetwork{publicMobilePhone(Stringname,Stringexplain){super(name,explain);}publicvoidchat(){System.out:,printf(”%s使用QQ%s?
8、l^%nn,name,MSG);}publicvoidlistenMusic(){System?out?printf("
9、%s使用MediaPlayer%s聽昔樂name,MSG);//一個(gè)類實(shí)現(xiàn)接口時(shí),須實(shí)現(xiàn)接口中所有方法并月?為public可以多實(shí)現(xiàn)publicclassComputerextendsProductionimp1ements工Network,IPrinter{publicComputer(Stringname,Stringexplain){su