91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在java中接口指的是什么

發布時間:2020-11-06 13:40:21 來源:億速云 閱讀:182 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關在java中接口指的是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

接口(英文:Interface),在JAVA編程語言中是一個抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法。

接口并不是類,編寫接口的方式和類很相似,但是它們屬于不同的概念。類描述對象的屬性和方法。接口則包含類要實現的方法。

除非實現接口的類是抽象類,否則該類要定義接口中的所有方法。

接口無法被實例化,但是可以被實現。一個實現接口的類,必須實現接口內所描述的所有方法,否則就必須聲明為抽象類。另外,在 Java 中,接口類型可用來聲明一個變量,他們可以成為一個空指針,或是被綁定在一個以此接口實現的對象。

接口的聲明語法格式如下:

[可見度] interface 接口名稱 [extends 其他的接口名] {
        // 聲明變量
        // 抽象方法}

功能

在Java語言規范中,一個方法的特征僅包括方法的名字,參數的數目和種類,而不包括方法的返回類型,參數的名字以及所拋出來的異常。在Java編譯器檢查方法的重載時,會根據這些條件判斷兩個方法是否是重載方法。但在Java編譯器檢查方法的置換時,則會進一步檢查兩個方法(分處超類型和子類型)的返還類型和拋出的異常是否相同。

接口實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個接口,接口彌補了類的不能多繼承缺點,繼承和接口的雙重設計既保持了類的數據安全也變相實現了多繼承。

Java接口本身沒有任何實現,因為Java接口不涉及表象,而只描述public行為,所以Java接口比Java抽象類更抽象化。但是接口不是類,不能使用new 運算符實例化一個接口。如 x=new comparable(......);//這個是錯誤來的。但是可以聲明接口變量Comparable x; //這是允許的。

Java接口的方法只能是抽象的和公開的,Java接口不能有構造器,Java接口可以有public、static和final屬性。即接口中的屬性可以定義為 public static final int value=5; [1]

接口把方法的特征和方法的實現分割開來。這種分割體現在接口常常代表一個角色,它包裝與該角色相關的操作和屬性,而實現這個接口的類便是扮演這個角色的演員。一個角色由不同的演員來演,而不同的演員之間除了扮演一個共同的角色之外,并不要求其它的共同之處。

使用

兩個類中的兩個類似的功能,調用他們的類動態的決定一種實現,那他們提供一個抽象父類,子類分別實現父類所定義的方法。

問題的出現:Java是一種單繼承的語言,一般情況下,哪個具體類可能已經有了一個超類,解決是給它的父類加父類,或者給它父類的父類加父類,直到移動到類等級結構的最頂端。這樣一來,對一個具體類的可插入性的設計,就變成了對整個等級結構中所有類的修改。

可插入性

在一個等級結構中的任何一個類都可以實現一個接口,這個接口會影響到此類的所有子類,但不會影響到此類的任何超類。此類將不得不實現這個接口所規定的方法,而其子類可以從此類自動繼承這些方法,當然也可以選擇置換掉所有的這些方法,或者其中的某一些方法,這時候,這些子類具有了可插入性(并且可以用這個接口類型裝載,傳遞實現了他的所有子類)。

我們關心的不是那一個具體的類,而是這個類是否實現了我們需要的接口。

接口提供了關聯以及方法調用上的可插入性,軟件系統的規模越大,生命周期越長,接口使得軟件系統的靈活性和可擴展性,可插入性方面得到保證。

類型

使用Java接口將軟件單位與內部和外部耦合起來。使用Java接口不是具體的類進行變量的類型聲明,方法的返還類型聲明,參量的類型聲明,以及數據類型的轉換。

在理想的情況下,一個具體的Java類應當只實現Java接口和抽象Java類中聲明的方法,而不應當給多余方法。

等級結構

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

如果一個類已經有了一個主要的超類型(父類),那么通過實現一個接口,這個類可以擁有另一個次要的超類型,這種次要的超類型叫做混合類型。

感謝各位的閱讀!關于在java中接口指的是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双桥区| 理塘县| 博罗县| 利津县| 盘锦市| 辽阳市| 铜川市| 宜春市| 乐亭县| 大悟县| 霸州市| 平原县| 剑阁县| 沙雅县| 娄烦县| 太湖县| 汉川市| 城步| 太仆寺旗| 贞丰县| 临海市| 鄂托克旗| 郁南县| 怀集县| 清涧县| 射洪县| 邵武市| 抚远县| 隆尧县| 孝义市| 普洱| 蓬溪县| 余干县| 沈阳市| 库尔勒市| 马边| 修文县| 宁安市| 从江县| 陆丰市| 称多县|