




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第11章 接口與內部類,接口是什么?接口有什么作用?如何使用接口?這些都是本章需要解決的問題。本章將詳細地講述接口的概念,并以實戰(zhàn)結合的方式,學習這些抽象概念。本章還會介紹內部類的相關知識,包括內部類的種類和內部類的使用環(huán)境等等。,11.1 接口,接口同繼承、多態(tài)一樣,都是Java程序語言的特色。它貫穿了整個Java程序開發(fā),是對繼承的很好補充,其原因下面會詳細的講述。,11.1.1 接口概念的引入,為什么在買USB電腦鼠標的時候,不需要問電腦配件的商家,USB鼠標是什么型號的?也不需要詢問是滿足什么要求?原因就是USB接口是統(tǒng)一的、固定不變的一種型號,是一種規(guī)范。所有的廠家都會按照這個規(guī)范,來制造USB接口的鼠標。這個規(guī)范說明制作該USB類型的鼠標應該做些什么,但并不說明如何做。而Java程序設計中的接口,也是一種規(guī)范。這個接口定義了類應該做什么?但不關心如何做?即接口中只有方法名,沒有方法體。,11.1.2 接口的概念,從專業(yè)的角度講,接口只是說明類應該做什么,但并不指定應該如何去做。在實際開發(fā)過程中,通過類來實現(xiàn)接口。接口只有方法名沒有方法體,實現(xiàn)接口就是讓其既有方法名又有方法體。下面就舉個有關接口的模型。(具體內容請參照本書),11.1.3 接口的聲明,接口的聲明很簡單,使用關鍵字“Interface”來聲明。接口的形式跟類很相似,但要記住接口是接口,類是類,兩者不能混為一談。接口是要求類如何做的一套規(guī)范。下面將舉一個實例,來演示如何聲明接口。(具體內容請參照本書),11.1.4 接口的實現(xiàn),接口的用處就是讓類通過實現(xiàn)它,來執(zhí)行一定的功能。下面通過實例演示接口的實現(xiàn)功能,在看實例之前,先看看這個實例的流程,如圖11.1所示。(具體內容請參照本書),11.1.5 接口的多重實現(xiàn),前面提到過接口能夠補充繼承的不足,現(xiàn)在講解如何補充。繼承必須是單繼承的,即一個類繼承另一個類后,那這個類就不能繼承其他類。而接口則無所謂,一個類可以實現(xiàn)一個接口,也可以同時實現(xiàn)另一個接口。使用接口為編程提供了很大的方便,可以把上面的程序段修改一下。為了能更好的理解這個程序,先看看程序的流程,如圖11.2所示。(具體內容請參照本書),11.1.6 接口的屬性,接口不是一個類,正因為其不是一個類,所以不能使用關鍵字“new”生成一個接口的實例。雖然這樣,還是可以聲明一個接口變量,如:“school sc”。如果要生成一個接口的實例,可以讓接口變量,指向一個已經實現(xiàn)了此接口的類的對象,如下面的例子。(具體內容請參照本書),11.1.7 接口的繼承,接口從某些方面具有類的一些特性,如有方法、有屬性,那么是否像類一樣可以繼承?回答是肯定的。接口的繼承和類的繼承一樣,也是用關鍵字“extends”來實現(xiàn),下面先看一個有關接口繼承的實例。實例的流程如圖11.3所示。(具體內容請參照本書),11.1.8 接口意義,接口不僅僅是一種規(guī)范,還是一種編程的思路。接口的所有方法和屬性,都代表了后面將要設計的類的基本思路,這些方法就代表著這個程序的需求,所以掌握好接口,對學好Java程序開發(fā)非常關鍵。(具體內容請參照本書),11.2 內部類,內部類就是在一個類的內部再創(chuàng)建一個類。下面介紹如何使用內部類編寫程序代碼,并了解內部類在編寫代碼的過程中,為程序員提供了哪些方便和優(yōu)點。(具體內容請參照本書),11.2.1 使用內部類來訪問對象,下面將舉個有關內部類的實例,在分析這個實例之前,先了解這個實例的流程,如圖11.4所示。(具體內容請參照本書),11.2.2 局部內部類,本小節(jié)通過對比局部變量,來學習局部內部類。局部變量就是在某個類的方法中定義的變量,它的作用范圍就在這個方法體內。同樣局部內部類就是在類的方法中定義的一個內部類,它的作用范圍也在這個方法體內。把上面的實例修改一下,學習局部內部類的使用。這個實例的流程,如圖11.5所示。(具體內容請參照本書),11.2.3 靜態(tài)內部類,當一個內部類不需要引用它的外部類的方法、屬性值時,可以將這個類設置為“static”,這就是靜態(tài)內部類。既然是靜態(tài)的,包含它的類要引用它時,就可以不必創(chuàng)建對象,直接引用。在靜態(tài)內部類中只能訪問外部類的靜態(tài)成員。構造靜態(tài)內部類對象,不再需要構造外部類對象。(具體內容請參照本書),11.2.4 匿名內部類,在編寫程序代碼時,不一定要給內部類取一個名字,可以直接以對象名來代替。在圖形化編程的事件監(jiān)控器代碼中,會大量使用匿名內部類,這樣可以大大的簡化代碼的編寫,并增強了代碼的可讀性。(具體內容請參照本書),11.3 常見疑難解答,(具體內容請參照本書),11.3.1 匿名類如何在程序中使用,答:匿名類是一種特殊的局部內部類,用來繼承一個類或者實現(xiàn)一個接口。匿名內部類不能定義構造方法匿名內部類。在編譯的時候由系統(tǒng)自動起名Out$1.class。如果一個對象編譯時的類型是接口,那么其運行的類型是實現(xiàn)這個接口的類,因為匿名內部類無構造方法,所以其使用范圍非常的有限。,11.3.2 接口與繼承有什么區(qū)別,答:接口在本質上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦山員工食堂管理制度
- 社區(qū)辦事大廳管理制度
- 移動項目流程管理制度
- 砂石企業(yè)粉塵管理制度
- 繼電保護實驗管理制度
- 網袋生產日常管理制度
- 藥品注冊流程管理制度
- 電廠增壓機房管理制度
- 藥業(yè)生產車間管理制度
- 美術手工教室管理制度
- 利用對稱性計算圖示結構,作彎矩圖EI=常數(shù)
- 成都市2022級(2025屆)高中畢業(yè)班摸底測試(零診)化學試卷(含答案)
- 2024屆廣東省廣州市白云區(qū)小升初必考題數(shù)學檢測卷含解析
- 中醫(yī)基礎理論考試題庫及答案五
- 開票稅點自動計算器
- 國家開放大學電大《10861理工英語4》期末終考題庫及答案
- 2024年小學四年級下冊數(shù)學期末測試卷附完整答案【典優(yōu)】
- 養(yǎng)老院老人走失免責協(xié)議書
- 擬投入的主要物資計劃
- 廣東省中山市2022-2023學年高一年級下冊期末統(tǒng)一考試物理試題含解析
- 2024年橫州茉莉花投資集團有限責任公司招聘筆試沖刺題(帶答案解析)
評論
0/150
提交評論