中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

山東安康建設(shè)項(xiàng)目管理有限公司網(wǎng)站北京谷歌優(yōu)化

山東安康建設(shè)項(xiàng)目管理有限公司網(wǎng)站,北京谷歌優(yōu)化,注重網(wǎng)站開發(fā)設(shè)計(jì)與建設(shè),軟件開發(fā)工資一般多少深圳文章目錄基礎(chǔ)介紹接口的定義關(guān)于接口字段和方法的說明使用接口抽象類和接口接口方法沖突的一些說明方法相同名稱和參數(shù),返回值相同方法名稱相同,參數(shù)不同,返回值相同方法返回值不同,名稱參數(shù)相同方法完全相同,一個(gè)有默…

文章目錄

  • 基礎(chǔ)介紹
  • 接口的定義
  • 關(guān)于接口字段和方法的說明
  • 使用接口
  • 抽象類和接口
  • 接口方法沖突的一些說明
    • 方法相同名稱和參數(shù),返回值相同
    • 方法名稱相同,參數(shù)不同,返回值相同
    • 方法返回值不同,名稱參數(shù)相同
    • 方法完全相同,一個(gè)有默認(rèn)實(shí)現(xiàn)
    • 接口和類中方法沖突
  • 總結(jié)

基礎(chǔ)介紹

接口用來描述類應(yīng)該做什么,而不是指定它們具體應(yīng)該怎么做。
在java中,接口不是類,而是對(duì)希望符合這個(gè)接口的類的一組需求。java只能繼承一個(gè)類,但是可以實(shí)現(xiàn)多個(gè)接口。

接口的定義

接口的定義如下

interface sports {}

接口定義其實(shí)就是和類定義相似的。只不過把class換成了interface

我們?cè)趇nterface可以定義方法,就像抽象類那樣定義未實(shí)現(xiàn)的方法即可。類實(shí)現(xiàn)接口時(shí)就必須重寫方法或者自己成為抽象類

interface Sports {void run();
}

在接口里面可以定義方法的默認(rèn)實(shí)現(xiàn),使用default關(guān)鍵字,如果類實(shí)現(xiàn)接口時(shí)沒有重寫該方法,那么該方法就會(huì)使用默認(rèn)實(shí)現(xiàn)

interface Sports {void run();default void jump(){}
}

現(xiàn)在,我們可以暫時(shí)將接口看做為沒有實(shí)例字段的抽象類。

關(guān)于接口字段和方法的說明

在接口中,我們不能定義實(shí)例字段,但是可以定義靜態(tài)字段。

interface A {public static final int a = 1;
}

但是上面這樣寫IDEA會(huì)有提示

在這里插入圖片描述

表示字段冗余,其實(shí),在接口中我們定義的字段只能使用public static final進(jìn)行修飾

我們?cè)诮涌谥锌梢远x靜態(tài)方法

interface A {public static void t() {}
}

對(duì)于接口里面的內(nèi)容,其實(shí)我們public修飾符可以不用寫,因?yàn)榻涌诶锩孀侄魏头椒ǖ脑L問修飾符只能是public。

使用接口

我們先定義一個(gè)接口,內(nèi)容如下

interface Sports {void run();
}

我們創(chuàng)建一個(gè)類來實(shí)現(xiàn)接口

class Cat implements Sports {@Overridepublic void run() {System.out.println("cat--run");}
}

這個(gè)其實(shí)和繼承基本類似的,只是將關(guān)鍵字從extends換成了implements

關(guān)于接口,我們不能夠使用new來實(shí)例化一個(gè)接口

       Sports sports = new Sports(); // ERROR

但是可以聲明接口變量,然后引用實(shí)現(xiàn)了這個(gè)接口的類對(duì)象即可

        Sports cat = new Cat(); // OK

對(duì)于接口,我們將其看作實(shí)現(xiàn)接口類的父類就很好理解了

抽象類和接口

對(duì)于一個(gè)類,我們只能繼承一個(gè)類,但是可以實(shí)現(xiàn)多個(gè)接口。我們就可以將接口看做沒有實(shí)例字段,并且可以被多繼承的抽象類

interface A {}interface B {}class C implements A, B {}

接口方法沖突的一些說明

方法相同名稱和參數(shù),返回值相同

我們知道,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,如果接口有相同的方法名稱和參數(shù)會(huì)怎么樣呢?如果有相同的名稱和參數(shù),并且返回值相同,那么我們只需要實(shí)現(xiàn)一個(gè)t方法即可

interface A {void t1();
}interface B {void t1();
}class C implements A, B {@Overridepublic void t1() {}
}

方法名稱相同,參數(shù)不同,返回值相同

如果方法只有參數(shù)不同,那么我們需要實(shí)現(xiàn)2個(gè)方法,也就是會(huì)進(jìn)行重載

interface A {void t1();
}interface B {void t1(int a);
}class C implements A, B {@Overridepublic void t1() {}@Overridepublic void t1(int a) {}
}

方法返回值不同,名稱參數(shù)相同

如果方法名稱相同,參數(shù)相同,而返回值不同,那么就會(huì)報(bào)錯(cuò),我們無法同時(shí)實(shí)現(xiàn)2個(gè)名稱相同,參數(shù)也相同但是返回值不同的方法。

interface A {int t1();
}interface B {void t1();
}

一個(gè)類無法同時(shí)實(shí)現(xiàn)A接口和B接口

方法完全相同,一個(gè)有默認(rèn)實(shí)現(xiàn)

如果2個(gè)接口一個(gè)有默認(rèn)實(shí)現(xiàn),一個(gè)沒有默認(rèn)實(shí)現(xiàn),對(duì)于這種情況,我們也必須實(shí)現(xiàn)該方法

interface A {default void t1() {}
}interface B {void t1();
}class C implements A, B {@Overridepublic void t1() {A.super.t1();}
}

但是我們可以通過 接口名.super.方法名調(diào)用默認(rèn)實(shí)現(xiàn)的方法

接口和類中方法沖突

對(duì)于接口和類沖突的,都以類為準(zhǔn),也就是類優(yōu)先原則,不管接口是否有默認(rèn)實(shí)現(xiàn)都會(huì)被超類中的方法覆蓋

interface A {default void t1() {System.out.println("interface");}
}interface B {void t1();
}class C {public void t1() {System.out.println("class");}
}class D extends C implements A, B {}

我們使用D來調(diào)用t1方法將會(huì)輸出class

        D d = new D();d.t1();  // 輸出class

總結(jié)

對(duì)于接口,我們將其看作可以被多繼承的,并且不能有實(shí)例字段的抽象類就行了。對(duì)于接口和接口發(fā)生沖突時(shí),只要返回類型相同我們就可以處理,如果返回類型不同那就不能同時(shí)實(shí)現(xiàn)有沖突的接口了。如果接口和超類發(fā)生沖突,那么就是以類優(yōu)先原則來進(jìn)行解決的。

http://www.risenshineclean.com/news/41155.html

相關(guān)文章:

  • 大宗商品現(xiàn)貨交易app天津seo優(yōu)化公司哪家好
  • 無錫網(wǎng)站優(yōu)化價(jià)格福鼎網(wǎng)站優(yōu)化公司
  • 廈門網(wǎng)站建設(shè)xm37網(wǎng)站的營銷推廣
  • 靜態(tài)網(wǎng)站建設(shè)課程設(shè)計(jì)百度一下生活更好
  • 網(wǎng)站404怎么做搜索排名提升
  • 網(wǎng)站怎么做直通車鄭州厲害的seo優(yōu)化顧問
  • 做攻略的網(wǎng)站好企業(yè)中層管理人員培訓(xùn)課程
  • 廣州網(wǎng)站排名優(yōu)化費(fèi)用招聘網(wǎng)絡(luò)營銷推廣人員
  • wordpress各部分功能百度seo關(guān)鍵詞優(yōu)化費(fèi)用
  • 自己做網(wǎng)站自己做推廣教程視頻教程網(wǎng)絡(luò)運(yùn)營培訓(xùn)
  • 水果b2b電商平臺(tái)有哪些seo技術(shù)員
  • 蘇州營銷型網(wǎng)站南寧企業(yè)官網(wǎng)seo
  • 上海做網(wǎng)站比較有名的公司湖南疫情最新消息今天
  • 我網(wǎng)站關(guān)鍵詞太多公司做網(wǎng)站推廣
  • 東莞市網(wǎng)站開發(fā)市場(chǎng)調(diào)研報(bào)告怎么寫范文
  • 攜程旅游網(wǎng)站建設(shè)的定位廣點(diǎn)通廣告平臺(tái)
  • 網(wǎng)站建設(shè)了解一下圖片蘇州seo報(bào)價(jià)
  • 開了網(wǎng)站建設(shè)公司 如何接業(yè)務(wù)蘇州seo怎么做
  • 網(wǎng)站建設(shè) php 企業(yè)網(wǎng)站重慶seo招聘
  • 網(wǎng)站建設(shè)與維護(hù)方式石家莊最新新聞事件
  • 群暉wordpress內(nèi)外網(wǎng)訪問網(wǎng)站整站優(yōu)化推廣方案
  • 網(wǎng)站建設(shè)畢業(yè)設(shè)計(jì)說明書word文檔關(guān)鍵詞優(yōu)化建議
  • 如何建立自己的企業(yè)網(wǎng)站網(wǎng)時(shí)代教育培訓(xùn)機(jī)構(gòu)官網(wǎng)
  • 做土司的網(wǎng)站bt磁力貓
  • 陜西網(wǎng)站制作定制疫情最新官方消息
  • 域名注冊(cè)好后怎么建設(shè)網(wǎng)站今日剛剛發(fā)生的軍事新聞
  • 網(wǎng)站后臺(tái)怎么做alt標(biāo)簽淄博seo培訓(xùn)
  • 鄭州華久做網(wǎng)站農(nóng)村電商平臺(tái)有哪些
  • 做外國網(wǎng)站用什么服務(wù)器注冊(cè)網(wǎng)站需要多少錢
  • 網(wǎng)站設(shè)計(jì)介紹免費(fèi)seo