Java語(yǔ)言中接口的定義及實(shí)現(xiàn)_第1頁(yè)
Java語(yǔ)言中接口的定義及實(shí)現(xiàn)_第2頁(yè)
Java語(yǔ)言中接口的定義及實(shí)現(xiàn)_第3頁(yè)
Java語(yǔ)言中接口的定義及實(shí)現(xiàn)_第4頁(yè)
Java語(yǔ)言中接口的定義及實(shí)現(xiàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——Java語(yǔ)言中接口的定義及實(shí)現(xiàn)Java語(yǔ)言中接口的定義及實(shí)現(xiàn)

導(dǎo)語(yǔ):在Java中,除了使用抽象類來(lái)實(shí)現(xiàn)確定程度的抽象外,還可以定義一種特殊的“抽象類”:接口。下面就由我為大家介紹一下Java語(yǔ)言中接口的定義及實(shí)現(xiàn),接待大家閱讀!

引言

在Java語(yǔ)言中為了使程序設(shè)計(jì)變得簡(jiǎn)樸明顯,不允許類的多重繼承,只允許單重繼承,即一個(gè)類只能有一個(gè)直接父類。這雖然簡(jiǎn)化了程序的布局,但也流失了編寫(xiě)程序的生動(dòng)性,減弱了面向?qū)ο蟪绦蛟O(shè)計(jì)的代碼復(fù)用功能。因此需要引進(jìn)其他的機(jī)制來(lái)扶助實(shí)現(xiàn)類似于類的多重繼承的功能,這就是Java語(yǔ)言中的接口interface。

接口是一種完全沒(méi)有實(shí)現(xiàn)的類,在接口中只包含了抽象的方法和常量的定義。與類不同的是,接口的定義使用interface關(guān)鍵字,而類的定義使用class關(guān)鍵字。實(shí)際上,接口是一種特殊的抽象類,這種抽象類中只包含常量和方法的定義,沒(méi)有變量和方法的實(shí)現(xiàn)。即接口是一種概念性的模型,它有助于類層次布局的設(shè)計(jì)。某些代碼設(shè)計(jì)的方法是首先設(shè)計(jì)全體的接口和類,然后再設(shè)計(jì)實(shí)現(xiàn)接口。這樣會(huì)制止代碼集成時(shí)展現(xiàn)的大量問(wèn)題。以這種方式舉行的設(shè)計(jì)通常更為通用而且更易于擴(kuò)展。

接口的用處主要表達(dá)在以下幾個(gè)方面:

①可以實(shí)現(xiàn)不相關(guān)類的一致行為,而不需要考慮這些類之間的層次關(guān)系。②可以指明多個(gè)類需要實(shí)現(xiàn)的方法。③可以理解對(duì)象的交互界面,而不需要了解對(duì)象所對(duì)應(yīng)的類。

1接口的定義

接口的定義包括兩個(gè)片面:聲明片面和接口體。

1.1接口的聲明接口用interface關(guān)鍵字來(lái)聲明,接口聲明的一般格式為:

[修飾符]interface接口名[extends父類接口列表]

接口體

其中

修飾符:為接口的訪問(wèn)權(quán)限,有public和缺省兩種狀態(tài)。public表示任意類均可使用這個(gè)接口。缺省處境下,只有與該接口定義在同一包中的類才可以訪問(wèn)這個(gè)接口,而其他包中的類無(wú)權(quán)訪問(wèn)該接口。

接口名:為Java中的合法標(biāo)識(shí)符。

父類接口列表:一個(gè)接口可以繼承其它接口,可通過(guò)關(guān)鍵字extends來(lái)實(shí)現(xiàn),其語(yǔ)法與類的繼承一致。被繼承的接口為父類接口,當(dāng)有多個(gè)父類接口時(shí),用逗號(hào)“,”分隔開(kāi)。子接口可以繼承父接口的全體常量和方法。

1.2接口體接口體是包含在一對(duì)大括號(hào)中的片面,由常量定義和方法定義兩個(gè)片面。

1.2.1常量定義常量定義的格式如下:

[public][static][final]常量類型常量名=常量值

其中

publicstaticfinal:接口中的常量只能被publicstaticfinal修飾,即使沒(méi)有在聲明中顯式修飾而使用系統(tǒng)默認(rèn)也是一樣,接口中的常量務(wù)必被賦予常量值,并且在繼承這個(gè)接口的類也不能變更它的值。

常量類型:可以是任何類型。

常量名:為Java中的合法標(biāo)識(shí)符,通常大寫(xiě)。

1.2.2方法定義方法定義的格式如下:

[public][abstract]返回值類型方法名參數(shù)列表

接口中只舉行方法的聲明,而不供給方法的實(shí)現(xiàn)。所以方法定義沒(méi)有方法體,且用分號(hào)“;”結(jié)尾。接口中的方法默認(rèn)是由publicabstract修飾的,因此不管是否有修飾符顯式修飾接口中的方法都是公共的抽象方法。

假設(shè)在子類接口中定義了和父類接口中同名的常量和一致的方法,那么父類接口中的常量被暗藏,方法被重寫(xiě)。

2方法的實(shí)現(xiàn)

一個(gè)接口可以被一個(gè)或多個(gè)類實(shí)現(xiàn)。當(dāng)一個(gè)類實(shí)現(xiàn)一個(gè)接口,它務(wù)必實(shí)現(xiàn)接口中全體的方法,用關(guān)鍵字implements實(shí)現(xiàn)接口。一個(gè)類還可以實(shí)現(xiàn)多個(gè)接口,各接口用逗號(hào)“,”隔開(kāi),實(shí)現(xiàn)接口的語(yǔ)句格式如下:

class類名implements接口名1,接口名2,……

在類體中可以使用接口中定義的常量,由于接口中的方法為抽象方法,所以務(wù)必在類體中參與要實(shí)現(xiàn)接口方法的代碼,假設(shè)一個(gè)接口是從別的一個(gè)或多個(gè)父接口中繼承而來(lái)的`,那么在類體中務(wù)必參與實(shí)現(xiàn)該接口及其父接口中全體方法的代碼。在實(shí)現(xiàn)接口時(shí),類中對(duì)方法定義要和接口中的相應(yīng)方法的定義相匹配,其方法名、方法返回值類型、方法的訪問(wèn)權(quán)限和參數(shù)的數(shù)目與類型等都要一致。

3接口和抽象類的識(shí)別

抽象類和接口在Java語(yǔ)言中都是用來(lái)舉行抽象類定義的。在面向?qū)ο蟮母拍钪?,全體的對(duì)象都是通過(guò)類來(lái)描述的,但并不是全體的類都是用來(lái)描繪對(duì)象的,假設(shè)一個(gè)類中沒(méi)有包含足夠的信息來(lái)描繪一個(gè)概括的對(duì)象,這樣的類就是抽象類。抽象類往往用來(lái)表征在對(duì)問(wèn)題領(lǐng)域舉行分析、設(shè)計(jì)中得出的抽象概念,是對(duì)一系列看一去不同,但是本質(zhì)上一致的概括概念的抽象。

抽象類和接口是不同的,概括識(shí)別如下:

抽象類中可以定義成員變量和成員方法,其中可含有非抽象的成員

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論