《J接口和內(nèi)部類》PPT課件

《J接口和內(nèi)部類》PPT課件

ID:45088618

大小:967.00 KB

頁(yè)數(shù):48頁(yè)

時(shí)間:2019-11-09

《J接口和內(nèi)部類》PPT課件_第1頁(yè)
《J接口和內(nèi)部類》PPT課件_第2頁(yè)
《J接口和內(nèi)部類》PPT課件_第3頁(yè)
《J接口和內(nèi)部類》PPT課件_第4頁(yè)
《J接口和內(nèi)部類》PPT課件_第5頁(yè)
資源描述:

《《J接口和內(nèi)部類》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、接口和內(nèi)部類Interfaces&InnerClasses霍秋艷qyhuo@mail.xidian.edu.cn2接口和內(nèi)部類接口和內(nèi)部類為我們提供了一種將接口與實(shí)現(xiàn)分離的更加結(jié)構(gòu)化的方法。Java提供一個(gè)叫做抽象方法的機(jī)制。abstract:類中創(chuàng)建一個(gè)或多個(gè)無(wú)方法體的類。interface:完全抽象類innerclasses看似一個(gè)簡(jiǎn)單的代碼隱藏機(jī)制:可以將一個(gè)類的定義放在另一個(gè)類的定義的內(nèi)部。3抽象類4抽象類是指不能直接被實(shí)例化的類,因此一般作為其它類的超類,與final類正好相反。概念上來(lái)說(shuō)是一

2、個(gè)Java類和接口的混合Whatgoesinanabstractclass?implementcommonstateandbehaviorthatwillbeinheritedbysubclassesdeclaregenericbehaviorsthatsubclassesmustimplement抽象類5abstract關(guān)鍵字放在類明以及方法之前抽象類中的抽象的方法--在該類中定義但不在該類中提供實(shí)現(xiàn),由繼承類提供細(xì)節(jié)publicabstractclassSomeAbstractClass{voidm

3、ethod1(){System.out.println(“Hi,Java”);}voidmethod2();}一個(gè)抽象類甚至可以沒(méi)有抽象方法只要包含有abstract方法,類就必須被聲明為abstract,否則就不能編譯。抽象類的語(yǔ)法6abstractclassAnimalKingdom{privateStringphylum;publicAnimalKingdom(Stringp){phylum=p;}publicStringgetPhylum(){returnphylum;}publicabstra

4、ctvoideat();}抽象類:例定義抽象方法的類必須是抽象類。抽象類中的抽象的方法--在該類中定義但不在該類中提供實(shí)現(xiàn),由繼承類提供細(xì)節(jié)。7抽象類和方法可以有數(shù)據(jù)和定義不可以創(chuàng)建實(shí)例必須定義所有的abstract方法才可以被實(shí)例化(否則類仍然是abstract類)8abstractInstrument一些方法和數(shù)據(jù)可以被定義剩余其它代碼是一樣的…abstractclassInstrument{privateinti;//Storageallocatedforeachpublicabstractvoi

5、dplay(Noten);publicStringwhat(){return"Instrument";}publicabstractvoidadjust();}9接口(interface)和抽象(abstract)類有什么不同?為什么都存在與Java中?什么時(shí)候該用一個(gè)抽象類,什么時(shí)候改用一個(gè)接口?問(wèn)題?接口Interfaces11接口“純(pure)”abstractclass–完全抽象的類允許創(chuàng)建者象建立一個(gè)類一樣進(jìn)行創(chuàng)建:methodnames,argumentlists,andreturntyp

6、es,butnomethodbodies.canalsocontainfields,buttheseareimplicitlystaticandfinal.–常量“所有實(shí)現(xiàn)了該特定接口的類看起來(lái)都像這樣”interface&implements關(guān)鍵字“Theinterfaceiswhatitlookslike,butnotI’mgoingtosayhowitworks.”利用接口可實(shí)現(xiàn)多重繼承(可同時(shí)實(shí)現(xiàn)多個(gè)接口)12InterfacesinterfaceKeyListener{publicvoidke

7、yPressed(KeyEvente);publicvoidkeyReleased(KeyEvente);publicvoidkeyTyped(KeyEvente);}一個(gè)接口描述方法但不提供方法的具體實(shí)現(xiàn)方法名、參數(shù)列表和返回類型13例ordinaryclass14例–代碼interfaceInstrument{//Compile-timeconstant:intI=5;//static&final//Cannothavemethoddefinitions:voidplay(Noten);//Auto

8、maticallypublicStringwhat();voidadjust();}classWindimplementsInstrument{publicvoidplay(Noten){System.out.println("Wind.play()"+n);}publicStringwhat(){return"Wind";}publicvoidadjust(){}}Otherclassesaresimilar15完全解耦只要一個(gè)方法操作的

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。