久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

接口的用法

 遠(yuǎn)方俠客 2016-06-21

接口是實現(xiàn)構(gòu)件可插入性的關(guān)鍵,,可插入構(gòu)件的關(guān)鍵在于存在一個公用的接口,以及每個構(gòu)件實現(xiàn)了這個

接口,。

  什么是接口,?

  Java中的接口是一系列方法的聲明,是一些方法特征的集合,,一個接口只有方法的特征沒有方法的實

現(xiàn),,因此這些方法可以在不同的地方被不同的類實現(xiàn),而這些實現(xiàn)可以具有不同的行為(功能),。

  接口的兩種含義:一,,Java接口,Java語言中存在的結(jié)構(gòu),,有特定的語法和結(jié)構(gòu),;二,一個類所具有

的方法的特征集合,,是一種邏輯上的抽象,。前者叫做“Java接口”,后者叫做“接口”,。

  在Java語言規(guī)范中,,一個方法的特征僅包括方法的名字,參數(shù)的數(shù)目和種類,而不包括方法的返回類

型,,參數(shù)的名字以及所拋出來的異常,。在Java編譯器檢查方法的重載時,會根據(jù)這些條件判斷兩個方法是

否是重載方法,。但在Java編譯器檢查方法的置換時,,則會進(jìn)一步檢查兩個方法(分處超類型和子類型)的

返還類型和拋出的異常是否相同。

  接口繼承和實現(xiàn)繼承的規(guī)則不同,,一個類只有一個直接父類,,但可以實現(xiàn)多個接口。

  Java接口本身沒有任何實現(xiàn),,因為Java接口不涉及表象,,而只描述public行為,所以Java接口比Java

抽象類更抽象化,。

  Java接口的方法只能是抽象的和公開的,,Java接口不能有構(gòu)造器,Java接口可以有public,靜態(tài)的和

final屬性,。

  接口把方法的特征和方法的實現(xiàn)分割開來,。這種分割體現(xiàn)在接口常常代表一個角色,它包裝與該角色

相關(guān)的操作和屬性,,而實現(xiàn)這個接口的類便是扮演這個角色的演員。一個角色由不同的演員來演,,而不同

的演員之間除了扮演一個共同的角色之外,,并不要求其它的共同之處。

  為什么使用接口,?

  兩個類中的兩個類似的功能,,調(diào)用他們的類動態(tài)的決定一種實現(xiàn),那他們提供一個抽象父類,,子類分

別實現(xiàn)父類所定義的方法,。

  問題的出現(xiàn):Java是一種單繼承的語言,一般情況下,,哪個具體類可能已經(jīng)有了一個超類,,解決是給

它的父類加父類,或者給它父類的父類加父類,,只到移動到類等級結(jié)構(gòu)的最頂端,。這樣一來,對一個具體

類的可插入性的設(shè)計,,就變成了對整個等級結(jié)構(gòu)中所有類的修改,。

  接口是可插入性的保證。

  在一個等級結(jié)構(gòu)中的任何一個類都可以實現(xiàn)一個接口,這個接口會影響到此類的所有子類,,但不會影

響到此類的任何超類,。此類將不得不實現(xiàn)這個接口所規(guī)定的方法,而其子類可以從此類自動繼承這些方法

,,當(dāng)然也可以選擇置換掉所有的這些方法,,或者其中的某一些方法,這時候,,這些子類具有了可插入性(

并且可以用這個接口類型裝載,,傳遞實現(xiàn)了他的所有子類)。

  我們關(guān)心的不是那一個具體的類,,而是這個類是否實現(xiàn)了我們需要的接口,。

  接口提供了關(guān)聯(lián)以及方法調(diào)用上的可插入性,軟件系統(tǒng)的規(guī)模越大,,生命周期越長,,接口使得軟件系

統(tǒng)的靈活性和可擴(kuò)展性,可插入性方面得到保證,。

  類型

  使用Java接口將軟件單位與內(nèi)部和外部耦合起來,。使用Java接口不是具體的類進(jìn)行變量的類型聲明,

方法的返還類型聲明,,參量的類型聲明,,以及數(shù)據(jù)類型的轉(zhuǎn)換。

  在理想的情況下,,一個具體的Java類應(yīng)當(dāng)只實現(xiàn)Java接口和抽象Java類中聲明的方法,,而不應(yīng)當(dāng)給多

余方法。

  類型等級結(jié)構(gòu)

  Java接口(以及抽象類)一般用來作為一個類型的等級結(jié)構(gòu)的起點,。

  如果一個類已經(jīng)有了一個主要的超類型,,那么通過實現(xiàn)一個接口,這個類可以擁有另一個次要的超類

型,,這種次要的超類型叫做混合類型,。

  Java接口常用方法

  單方法接口

  public interface Actionlistener(){

  public abstract void actionPerformed(ActionEvent event);

  }

  僅且只有一個方法,只有實現(xiàn)了這個接口(重寫這個接口中的唯一一個方法),,你才有資格去事件監(jiān)

聽器列表里注冊(參數(shù)為Actionlistener類型),,當(dāng)事件源變動時,自動調(diào)用這個唯一的

actionPerformed方法.

  標(biāo)識接口

  是沒有任何方法和屬性的接口,。標(biāo)識接口不對實現(xiàn)它的類有任何語意上的要求,,它僅僅表明了實現(xiàn)它

的類屬于一個特定的類型(傳遞)。

  不推薦過多的使用標(biāo)識接口,。

  常量接口

  用Java接口來聲明一些常量,,然后由實現(xiàn)這個接口的類使用這些常量(以前在做畫板的時候這么干過

),。建議不要模仿這種常量接口的做法。

  Java語言類型安全問題

  Java是強(qiáng)類型的語言,。這意味著Java編譯器會對代碼進(jìn)行檢查,,以確定沒一次賦值,每一次方法的調(diào)

用是符合類型的,。如果有任何不相符合的情況,,Java編譯器就會給出錯誤。

  類型檢查是基于這樣一個簡單的事實:每一變量的聲明都給這個變量一個類型,;每一個方法包括構(gòu)造

器的聲明都給這個方法的特征,。這樣一來,Java編譯器可以對任何的表達(dá)式推斷出一個明顯類型,,Java編

譯器可以基于明顯類型對類型進(jìn)行檢查,。

  Java語言是類型安全的。這就是說,,任何被Java編譯器接受的合法的Java類保證是類型安全的,。換言

之,在程序運行期間,,不會有任何類型的錯誤,。一個Java程序根本不可能將一個本來屬于一個類型的變量

當(dāng)作另一個類型處理,因此也就不會產(chǎn)生由此而引起的錯誤,。

  簡單的說,,Java語言依靠三種機(jī)制做到了類型安全:編譯期間的類型檢查,自動的存儲管理,,數(shù)組的

邊界檢查,。  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多