一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java基礎教程之接口的繼承與抽象類

Java基礎教程之接口的繼承與抽象類

2019-11-27 15:01junjie 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,見實施接口)

抽象類

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

1.糧食 (可以是玉米、小麥、大米)
2.圖形 (可以是三角形、圓形、正方形)

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

1.人類 (可以是男人、女人)

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

Java基礎教程之接口的繼承與抽象類

根據我們的常識:

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

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

Java基礎教程之接口的繼承與抽象類

抽象與具體

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類不能用于創建對象。

抽象類的繼承

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

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

總結

interface繼承,多重繼承

abstract method, abstract類

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩精品成人在线 | 欧美精品色精品一区二区三区 | 亚洲 欧美 制服 校园 动漫 | 色花堂国产精品首页第一页 | 小浪妇奶真大水多 | 精品午夜寂寞黄网站在线 | 日本老师动漫 | 香蕉大久久 | 精品免费国产一区二区三区 | 视频一区在线免费观看 | 三级理论在线观看 | 日韩在线成人 | 国产日韩欧美视频 | 四虎影视4hu最新地址在线884 | 国产卡一卡二卡3卡乱码免费 | 日韩中文字幕在线不卡 | 果冻传媒在线免费观看 | 国内视频一区二区三区 | juliaann厨房大战 | 四虎影视4hutv最新地址在线 | www四虎影视 | 欧美整片完整片视频在线 | 国产欧美一区二区三区精品 | 天天色一色| 精品国产福利在线观看一区 | 久久人妻少妇嫩草AV無碼 | 四虎影院2019 | 高中生喷水喷浆 | 亚洲欧洲日产v特级毛片 | 4hc44四虎永久地址链接 | 免费毛片大全 | 撕开老师的丝袜白丝扒开粉嫩的小 | 国自产精品手机在线视频 | 成人私人影院www片免费高清 | 99福利视频导航 | 欧美日韩精 | 国内精品伊人久久大香线焦 | 99精品国产成人一区二区 | 精品国产乱码久久久久久免费 | 暴露狂婷婷医院暴露tx | 精品国产成人AV在线看 |