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

溫馨提示×

溫馨提示×

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

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

Java接口的繼承與抽象類介紹

發布時間:2021-08-31 18:42:42 來源:億速云 閱讀:135 作者:chen 欄目:編程語言

這篇文章主要講解了“Java接口的繼承與抽象類介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java接口的繼承與抽象類介紹”吧!

在 實施接口中,我們利用interface語法,將interface從類定義中獨立出來,構成一個主體。interface為類提供了接口規范。

在 繼承中,我們為了提高程序的可復用性,引入的繼承機制。當時的繼承是基于類的。interface接口同樣可以繼承,以拓展原interface。

接口繼承

接口繼承(inheritance)與類繼承很類似,就是以被繼承的interface為基礎,增添新增的接口方法原型。比如,我們以Cup作為原interface:

interface Cup {    void addWater(int w);    void drinkWater(int w);
}


我們在繼承Cup的基礎上,定義一個新的有刻度的杯子的接口,MetricCup

Java接口的繼承與抽象類介紹

接口如下:

interface MetricCup extends Cup
{    int WaterContent();
}

我們增添了一個新的方法原型WaterContent(),這個方法返回一個整數(水量)。

interface的多重繼承

在Java類的繼承中,一個衍生類只能有一個基類。也就是說,一個類不能同時繼承多于一個的類。在Java中,interface可以同時繼承多于一個interface,這叫做多重繼承(multiple inheritance)。

比如我們有下面一個Player接口:

interface Player
{    void play();
}

我們新增一個MusicCup的接口。它既有Cup接口,又有Player接口,并增加一個display()方法原型。

interface MusicCup extends Cup, Player 
{    void display();
}

(如何使用interface,見 實施接口)

抽象類

在生活中,我們會有一些很抽象的概念。這些抽象的概念往往是許多類的集合,比如:

  • 糧食 (可以是玉米、小麥、大米)

  • 圖形 (可以是三角形、圓形、正方形)

再比如,我們之前舉出了例子:

  • 人類 (可以是男人、女人)

在組織這樣的關系時,我們可以使用繼承,比如:

Java接口的繼承與抽象類介紹

根據我們的常識:

  • "Food類的對象"的說法是抽象的。這樣一個對象應該是屬于Corn, Rice, Wheat子類中的一個。

  • Food類有eat()方法 (食物可以吃)。然而,這樣的一個動作是抽象的。糧食的具體吃法是不同的。比如Corn需要剝皮吃,Wheat要磨成面粉吃。我們需要在每個類中覆蓋Food類的eat()方法。

抽象與具體

Java中提供了抽象類(abstract class)的語法,用于說明類及其方法的抽象性。比如:

abstract class Food {    public abstract void eat();
    public void happyFood();
    {
        System.out.println("Good! Eat Me!");
    }
}

類中的方法可以聲明為abstract,比如上面的eat()。這時,我們不需要具體定義方法,只需要提供該方法的原型。這與接口類似。當我們在比如Corn類中繼承該類時,需要提供eat()方法的具體定義。

類中的另一個方法happyFood()并不是

當一個類中出現abstract方法時,這個類的聲明必須加上abstract關鍵字,否則Java將報錯。一個abstract類不能用于創建對象。

抽象類的繼承

我們可以像繼承類那樣繼承一個抽象類。我們必須用完整的方法定義,來覆蓋抽象類中的抽象方法,否則,衍生類依然是一個抽象類。

抽象類的定義中可以有數據成員。數據成員的繼承與正常類的繼承相同。

感謝各位的閱讀,以上就是“Java接口的繼承與抽象類介紹”的內容了,經過本文的學習后,相信大家對Java接口的繼承與抽象類介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

乐东| 西贡区| 新营市| 内乡县| 墨江| 聂拉木县| 商洛市| 峨眉山市| 胶州市| 遂溪县| 莲花县| 礼泉县| 垦利县| 辽阳市| 平远县| 西城区| 麻城市| 西乌| 临泉县| 普宁市| 汽车| 克什克腾旗| 泰州市| 沅江市| 曲水县| 温泉县| 安龙县| 特克斯县| 宣武区| 桦甸市| 太原市| 综艺| 商洛市| 仁寿县| 淄博市| 河西区| 宁明县| 闸北区| 隆昌县| 永康市| 海口市|