中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Java抽象類和接口有什么不同

發布時間:2020-06-23 18:50:36 來源:億速云 閱讀:180 作者:元一 欄目:編程語言

Java抽象類和接口有什么不同?針對這個問題,這篇文章給出了相對應的分析和解答,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。

Java 抽象類與接口的區別

1、抽象類可以提供某些方法的部分實現,而接口不可以;

2、抽象類是單個繼承機制,其子類不一定要實現父類中的所有沒實現的方法,而接口一個類可以有多個接口,并且方法都要實現。

抽象類

abstractclass和interface在Java語言中都是用來進行抽象類(本文中的抽象類并非從abstractclass翻譯而來,它表示的是一個抽象體,而abstractclass為Java語言中用于定義抽象類的一種方法,請讀者注意區分)定義的,那么什么是抽象類,使用抽象類能為我們帶來什么好處呢?

在面向對象的概念中,我們知道所有的對象都是通過類來描繪的,但是反過來卻不是這樣。并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。抽象類往往用來表征我們在對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。比如:如果我們進行一個圖形編輯軟件的開發,就會發現問題領域存在著圓、三角形這樣一些具體概念,它們是不同的,但是它們又都屬于形狀這樣一個概念,形狀這個概念在問題領域是不存在的,它就是一個抽象概念。正是因為抽象的概念在問題領域沒有對應的具體概念,所以用以表征抽象概念的抽象類是不能夠實例化的。

在面向對象領域,抽象類主要用來進行類型隱藏。我們可以構造出一個固定的一組行為的抽象描述,但是這組行為卻能夠有任意個可能的具體實現方式。這個抽象描述就是抽象類,而這一組任意個可能的具體實現則表現為所有可能的派生類。模塊可以操作一個抽象體。由于模塊依賴于一個固定的抽象體,因此它可以是不允許修改的;同時,通過從這個抽象體派生,也可擴展此模塊的行為功能。熟悉OCP的讀者一定知道,為了能夠實現面向對象設計的一個最核心的原則 OCP(Open-ClosedPrinciple),抽象類是其中的關鍵所在。

接口

接口(軟件類接口)是指對協定進行定義的引用類型。其他類型實現接口,以保證它們支持某些操作。接口指定必須由類提供的成員或實現它的其他接口。與類相似,接口可以包含方法、屬性、索引器和事件作為成員。Java里面由于不允許多重繼承,所以如果要實現多個類的功能,則可以通過實現多個接口來實現。

關于Java抽象類和接口就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

澄江县| 长海县| 丰台区| 杂多县| 维西| 永宁县| 凌云县| 新丰县| 五河县| 青河县| 珠海市| 五原县| 万山特区| 安庆市| 安龙县| 娱乐| 高安市| 凉山| 邛崃市| 乌鲁木齐县| 尼木县| 嫩江县| 靖远县| 阳信县| 武鸣县| 山丹县| 澄迈县| 原平市| 恭城| 丹寨县| 阆中市| 黎川县| 瑞金市| 陈巴尔虎旗| 定远县| 伊金霍洛旗| 融水| 黎平县| 吉林市| 泾阳县| 通城县|