




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第11章 接口與內(nèi)部類,接口是什么?接口有什么作用?如何使用接口?這些都是本章需要解決的問題。本章將詳細(xì)地講述接口的概念,并以實(shí)戰(zhàn)結(jié)合的方式,學(xué)習(xí)這些抽象概念。本章還會(huì)介紹內(nèi)部類的相關(guān)知識(shí),包括內(nèi)部類的種類和內(nèi)部類的使用環(huán)境等等。,11.1 接口,接口同繼承、多態(tài)一樣,都是Java程序語言的特色。它貫穿了整個(gè)Java程序開發(fā),是對(duì)繼承的很好補(bǔ)充,其原因下面會(huì)詳細(xì)的講述。,11.1.1 接口概念的引入,為什么在買USB電腦鼠標(biāo)的時(shí)候,不需要問電腦配件的商家,USB鼠標(biāo)是什么型號(hào)的?也不需要詢問是滿足什么要求?原因就是USB接口是統(tǒng)一的、固定不變的一種型號(hào),是一種規(guī)范。所有的廠家都會(huì)按照這個(gè)規(guī)范,來制造USB接口的鼠標(biāo)。這個(gè)規(guī)范說明制作該USB類型的鼠標(biāo)應(yīng)該做些什么,但并不說明如何做。而Java程序設(shè)計(jì)中的接口,也是一種規(guī)范。這個(gè)接口定義了類應(yīng)該做什么?但不關(guān)心如何做?即接口中只有方法名,沒有方法體。,11.1.2 接口的概念,從專業(yè)的角度講,接口只是說明類應(yīng)該做什么,但并不指定應(yīng)該如何去做。在實(shí)際開發(fā)過程中,通過類來實(shí)現(xiàn)接口。接口只有方法名沒有方法體,實(shí)現(xiàn)接口就是讓其既有方法名又有方法體。下面就舉個(gè)有關(guān)接口的模型。(具體內(nèi)容請(qǐng)參照本書),11.1.3 接口的聲明,接口的聲明很簡單,使用關(guān)鍵字“Interface”來聲明。接口的形式跟類很相似,但要記住接口是接口,類是類,兩者不能混為一談。接口是要求類如何做的一套規(guī)范。下面將舉一個(gè)實(shí)例,來演示如何聲明接口。(具體內(nèi)容請(qǐng)參照本書),11.1.4 接口的實(shí)現(xiàn),接口的用處就是讓類通過實(shí)現(xiàn)它,來執(zhí)行一定的功能。下面通過實(shí)例演示接口的實(shí)現(xiàn)功能,在看實(shí)例之前,先看看這個(gè)實(shí)例的流程,如圖11.1所示。(具體內(nèi)容請(qǐng)參照本書),11.1.5 接口的多重實(shí)現(xiàn),前面提到過接口能夠補(bǔ)充繼承的不足,現(xiàn)在講解如何補(bǔ)充。繼承必須是單繼承的,即一個(gè)類繼承另一個(gè)類后,那這個(gè)類就不能繼承其他類。而接口則無所謂,一個(gè)類可以實(shí)現(xiàn)一個(gè)接口,也可以同時(shí)實(shí)現(xiàn)另一個(gè)接口。使用接口為編程提供了很大的方便,可以把上面的程序段修改一下。為了能更好的理解這個(gè)程序,先看看程序的流程,如圖11.2所示。(具體內(nèi)容請(qǐng)參照本書),11.1.6 接口的屬性,接口不是一個(gè)類,正因?yàn)槠洳皇且粋€(gè)類,所以不能使用關(guān)鍵字“new”生成一個(gè)接口的實(shí)例。雖然這樣,還是可以聲明一個(gè)接口變量,如:“school sc”。如果要生成一個(gè)接口的實(shí)例,可以讓接口變量,指向一個(gè)已經(jīng)實(shí)現(xiàn)了此接口的類的對(duì)象,如下面的例子。(具體內(nèi)容請(qǐng)參照本書),11.1.7 接口的繼承,接口從某些方面具有類的一些特性,如有方法、有屬性,那么是否像類一樣可以繼承?回答是肯定的。接口的繼承和類的繼承一樣,也是用關(guān)鍵字“extends”來實(shí)現(xiàn),下面先看一個(gè)有關(guān)接口繼承的實(shí)例。實(shí)例的流程如圖11.3所示。(具體內(nèi)容請(qǐng)參照本書),11.1.8 接口意義,接口不僅僅是一種規(guī)范,還是一種編程的思路。接口的所有方法和屬性,都代表了后面將要設(shè)計(jì)的類的基本思路,這些方法就代表著這個(gè)程序的需求,所以掌握好接口,對(duì)學(xué)好Java程序開發(fā)非常關(guān)鍵。(具體內(nèi)容請(qǐng)參照本書),11.2 內(nèi)部類,內(nèi)部類就是在一個(gè)類的內(nèi)部再創(chuàng)建一個(gè)類。下面介紹如何使用內(nèi)部類編寫程序代碼,并了解內(nèi)部類在編寫代碼的過程中,為程序員提供了哪些方便和優(yōu)點(diǎn)。(具體內(nèi)容請(qǐng)參照本書),11.2.1 使用內(nèi)部類來訪問對(duì)象,下面將舉個(gè)有關(guān)內(nèi)部類的實(shí)例,在分析這個(gè)實(shí)例之前,先了解這個(gè)實(shí)例的流程,如圖11.4所示。(具體內(nèi)容請(qǐng)參照本書),11.2.2 局部內(nèi)部類,本小節(jié)通過對(duì)比局部變量,來學(xué)習(xí)局部內(nèi)部類。局部變量就是在某個(gè)類的方法中定義的變量,它的作用范圍就在這個(gè)方法體內(nèi)。同樣局部內(nèi)部類就是在類的方法中定義的一個(gè)內(nèi)部類,它的作用范圍也在這個(gè)方法體內(nèi)。把上面的實(shí)例修改一下,學(xué)習(xí)局部內(nèi)部類的使用。這個(gè)實(shí)例的流程,如圖11.5所示。(具體內(nèi)容請(qǐng)參照本書),11.2.3 靜態(tài)內(nèi)部類,當(dāng)一個(gè)內(nèi)部類不需要引用它的外部類的方法、屬性值時(shí),可以將這個(gè)類設(shè)置為“static”,這就是靜態(tài)內(nèi)部類。既然是靜態(tài)的,包含它的類要引用它時(shí),就可以不必創(chuàng)建對(duì)象,直接引用。在靜態(tài)內(nèi)部類中只能訪問外部類的靜態(tài)成員。構(gòu)造靜態(tài)內(nèi)部類對(duì)象,不再需要構(gòu)造外部類對(duì)象。(具體內(nèi)容請(qǐng)參照本書),11.2.4 匿名內(nèi)部類,在編寫程序代碼時(shí),不一定要給內(nèi)部類取一個(gè)名字,可以直接以對(duì)象名來代替。在圖形化編程的事件監(jiān)控器代碼中,會(huì)大量使用匿名內(nèi)部類,這樣可以大大的簡化代碼的編寫,并增強(qiáng)了代碼的可讀性。(具體內(nèi)容請(qǐng)參照本書),11.3 常見疑難解答,(具體內(nèi)容請(qǐng)參照本書),11.3.1 匿名類如何在程序中使用,答:匿名類是一種特殊的局部內(nèi)部類,用來繼承一個(gè)類或者實(shí)現(xiàn)一個(gè)接口。匿名內(nèi)部類不能定義構(gòu)造方法匿名內(nèi)部類。在編譯的時(shí)候由系統(tǒng)自動(dòng)起名Out$1.class。如果一個(gè)對(duì)象編譯時(shí)的類型是接口,那么其運(yùn)行的類型是實(shí)現(xiàn)這個(gè)接口的類,因?yàn)槟涿麅?nèi)部類無構(gòu)造方法,所以其使用范圍非常的有限。,11.3.2 接口與繼承有什么區(qū)別,答:接口在本質(zhì)上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 豆類作物種植的農(nóng)業(yè)科技成果轉(zhuǎn)化考核試卷
- 2025年除草劑混劑合作協(xié)議書
- 管道工程行業(yè)政策環(huán)境與競爭力分析考核試卷
- 茶葉種類與品質(zhì)鑒定考核試卷
- 康復(fù)輔具的標(biāo)準(zhǔn)化與模塊化設(shè)計(jì)考核試卷
- 船舶涂料性能測試與選用考核試卷
- 商場導(dǎo)視系統(tǒng)設(shè)計(jì)
- 2025年耐火土石類項(xiàng)目發(fā)展計(jì)劃
- 河南送變電運(yùn)維安全考試
- 圓柱側(cè)面積計(jì)算
- 停車場收費(fèi)管理系統(tǒng)使用手冊(cè)
- 我的家鄉(xiāng)寧波
- 路燈設(shè)施維修施工組織設(shè)計(jì)
- 執(zhí)業(yè)醫(yī)師注冊(cè)健康體檢表
- 普通高等學(xué)校畢業(yè)生 畢業(yè)研究生就業(yè)協(xié)議書
- 地鐵通信工程漏纜卡具安裝作業(yè)指導(dǎo)書
- 地下室頂板施工電梯加固方案(共4頁)
- EAS制造功能培訓(xùn)_MPS和MRP_完整版(截止70)
- 烤煙常見蟲草害的防治措施
- 新課改背景下的初中數(shù)學(xué)課堂有效教學(xué)研究
- 叉車自查表 廠內(nèi)機(jī)動(dòng)車輛(叉車)安全自查表
評(píng)論
0/150
提交評(píng)論