Java之接口之間的多繼承

2020-12-25 彼岸end

各位小夥伴們大家好,這次小編要介紹的是Java當中,接口的多繼承。

具體如下:

1.類與類之間是單繼承的,直接父類只有一個2.類與接口之間是多實現的,一個類可以實現多個接口。3.接口與接口之間是多繼承的。注意事項1.多個父接口之間的抽象方法可以重複。2.多個父接口之間的默認方法如果重複,子接口必須進行默認方法的覆蓋重寫,而且必須帶著default關鍵字(接口當中的default關鍵字不可以省略

代碼如下:

//定義一個接口 MyInterfaceApublic interface MyInterfaceA {public abstract void methodA();//定義一個抽象方法public abstract void methodCommon();public default void methodDefault(){System.out.println("AAA");}}

//定義一個接口MyInterfaceBpublic interface MyInterfaceB {public abstract void methodB();//定義一個抽象方法methodBpublic abstract void methodCommon();public default void methodDefault(){System.out.println("BBB");}}

//定義一個子接口MyInterface/*這個接口中有幾個抽象方法?methodA 來源於接口AmethodB 來源於接口BmethodCommon 來源於接口A和Bmethod自己的抽象方法*/public interface MyInterfaceextends MyInterfaceA,MyInterfaceB {public abstract void method();//多個父接口的默認方法重複,子接口需要對默認方法進行覆蓋重寫@Override default void methodDefault() {}}

//實現類

public class MyInterfaceImpl implements MyInterface{@Override//覆蓋重寫抽象方法public void method() {}@Overridepublic void methodA() {}@Overridepublic void methodB() {}@Overridepublic void methodCommon() {}}

關於Java當中,接口的多繼承,小編就先說到這裡,希望這篇文章可以幫到大家,也歡迎各位小夥伴補充和糾錯。

相關焦點

  • java面試題總結:java的接口類和抽象類的特點
    使用接口可以實現多繼承接口和抽象類的區別之處:1. 接口中所有的方法隱含都是抽象的,而抽象類則可以同時包含抽象和非抽象的方法2. 類可以實現很多個接口,但是只能繼承一個抽象類3. 類可以不實現抽象類和接口聲明的所有方法,在這種情況下,類也必須得聲明成是抽象的4.
  • Java基礎教程:Java基礎知識之List接口
    List接口我們掌握了Collection接口的使用後,再來看看Collection接口中的子類,他們都具備那些特性呢?接下來,我們一起學習Collection中的常用幾個子類(java.util.List集合、java.util.Set集合)。
  • Java抽象類與接口的區別
    在討論它們之間的不同點之前,我們先看看抽象類、接口各自的特性。抽象類抽象類是用來捕捉子類的通用特性的 。它不能被實例化,只能被用作子類的超類。抽象類是被用來創建繼承層級裡子類的模板。如果一個類實現了某個接口,那麼它就繼承了這個接口的抽象方法。這就像契約模式,如果實現了這個接口,那麼就必須確保使用這些方法。接口只是一種形式,接口自身不能做任何事情。
  • Java 8 默認方法和多繼承
    這是一個折衷的設計,帶來的問題就是為Java引入了多繼承的問題。 我們知道,接口可以繼承接口,類可以繼承類和實現接口。一旦繼承的類和實現的接口中有相同籤名的方法,會出現什麼樣的狀況呢?本文將探討各種情況的多繼承,以便能清楚的理解Java多繼承的規則。
  • 繼承、接口與多態的相關問題
    Java中所有的類都是通過直接或間接地繼程java.lang.Object類得到的。繼承而得到的類稱為子類,被繼承的類稱為父類。子類不能繼承父類中訪問權限為private的成員變量和方法。子類可以重寫父類的方法,及命名與父類同名的成員變量。但Java不支持多重繼承,即一個類從多個超類派生的能力。
  • 可能是把 Java 接口講得最通俗的一篇文章
    如果你現在就想知道抽象類與接口之間的區別,我可以提前給你說一個:當然了,在沒有搞清楚接口到底是什麼,它可以做什麼之前,這個區別理解起來會有點難度。01、接口是什麼接口是通過 interface 關鍵字定義的,它可以包含一些常量和方法,來看下面這個示例。
  • 實現多線程的標準操作,基於Runnable接口實現java多線程
    1 為什麼要用Runnable上一篇文章介紹了通過繼承Thread類,實現java多線程。但如果當我們創建的這個線程類還想繼承其他類的時候,這種方法就略顯局限了。這也是java單繼承的局限性。為了避免這種局限性,所以又提供了第二種多線程主體定義的形式:實現Runnable接口。
  • 論Java中的抽象類與接口
    抽象類的作用《thinking in java》抽象類是普通的類與接口之間的一種中庸之道。Java中可以implements多個接口,多繼承的含義便是接入多個接口(繼承只能單繼承)一個類可以實現一個或多個接口,繼承使用extends關鍵字(但接口只能繼承接口),實現則使用implements關鍵字。
  • Java中使用接口實現多繼承和多態的方法
    1.JAVA裡沒有多繼承,一個類之能有一個父類。  而繼承的表現就是多態。一個父類可以有多個子類,而在子類裡可以重寫父類的方法(例如方法print()),這樣每個子類裡重寫的代碼不一樣,自然表現形式就不一樣。
  • 淺析java繼承與多態,抽象類與接口的區別
    Java 可以有多個繼承層次,一個類也可以有多條繼承鏈路,M 繼承 A,N 繼承 A。但是 Java 不支持多繼承,即 M 同時繼承 A 又 繼承 B,Java 不允許多繼承降低了複雜度,如果要實現多繼承,可以通過接口 interface 形式實現。所以 Java 類之間只有單一繼承關係,沒有多繼承。
  • Java程式設計師如何理解繼承和接口這兩個概念
    Java中的接口和繼承並不是解決同樣的問題,實際上,Java語言當中的繼承在很多場景下並不建議使用,原因是繼承本身屬於「強耦合」的概念,強耦合本身有非常多的弊端,為程序的復用和維護也帶來了一定的困難。當然,繼承作為面向對象語言的三大特徵之一,如果合理地運用,也會帶來很多方便,也會更全面地描述各種模型。
  • Java多線程帶返回值得Callable接口
    Java多線程帶返回值的Callable接口在面試的時候,有時候是不是會遇到面試會問你,Java中實現多線程的方式有幾種?你知道嗎?你知道Java中有可以返回值的線程嗎?在具體的用法你知道嗎?如果兩個線程同時來調用同一個計算對象,計算對象的call方法會被調用幾次你知道嗎?
  • Java面試總結之Java基礎
    繼承主要是實現了代碼的復用,所有子類公用的行為和屬性可以抽取為一個父類,所有子類繼承了父類的屬性和行為,java中繼承是單一性的。多態:程序中定義的引用類型變量所指向的具體類型和調用的具體方法在程序編譯階段無法確定,而是在運行期才能確定該引用類型變量指向具體哪個對象而調用在哪個類中聲明的方法。多態的表現形式有強制類型轉換,向上構造等。多態可分為行為多態和對象多態。
  • EffectiveJava-3-類和接口
    繼承是實現代碼重用的有力手段,但並非永遠是最佳方案(跨包邊界的繼承,可能處於不同程式設計師的控制下,是非常危險的,父類隨著發行版本的不同可能發生變化,子類就有可能遭到破壞),例如下面代碼中所提到的問題:只有當A,B兩個類之間存在"B is A"關係,且A類本身不存在缺陷時,才應該使用繼承;要麼為繼承而設計,提供文檔說明,要麼就禁止繼承- 該類必須有文檔說明它可覆蓋方法的自用性
  • Java 8 有多牛逼?打破一切你對接口的認知!
    上面也說了,Java 8 開始是可以有方法實現的,可以在接口中添加默認方法和靜態方法。默認方法用 default 修飾,只能用在接口中,靜態方法用 static 修飾,這個我們不陌生了。並且接口中的默認方法、靜態方法可以同時有多個。在接口中寫實現方法一點也不稀奇,像這樣的用法,從 Java 8 到 Java 14 已是遍地開花,到處都可以看到接口默認方法和靜態方法的身影。
  • 我如何理解Java中抽象類和接口
    然後,我們就大說一通抽象類可以有方法,接口不能有實際的方法啦;一個類只能繼承一個抽象類,卻可以繼承多個接口啦,balabala一大堆,就好像把標準答案熟練的說出來一樣。  抽象類和接口這篇文章講到了他們的區別和聯繫,它們確實有很多相似的地方,但是從本質上看,或從語言的設計角度來看,這不是它們最本質的區別。
  • Java接口interface、抽象類abstract,逐步學習怎麼封裝對象
    Java基礎之多態,動態綁定多態的代碼案例,簡單卻很重要)中說到了繼承和多態,這裡不得不提一下java中常用的接口和抽象類。一、接口Java接口是一系列的方法的聲明,也是一些方法特徵的集合;100%的抽象類,即接口中的方法必須是抽象方法;接口聲明了一個類必須做什麼和不能做什麼,即定義了類的藍圖;
  • Java之Thread和Runnable接口的區別
    各位小夥伴們大家好,好久不見,在之前的文章中,小編介紹了創建線程的兩種方式Java之創建多線程的第二種方法,實現類,Java之創建多線程的第一種方式,thread類。這次小編要講的是這兩種方式的區別。其實就是實現Runnable接口創建多線程的好處,具體如下:避免了單繼承的局限性,一個類只能繼承一個類,這個類繼承了Thread類就不能繼承其它類。但是,實現了Runnable接口,還可以繼承其它的類,實現其它接口。增強了程序的擴展性,降低了程序的耦合性,實現Runnable接口的方式,把設置線程任務和開啟新線程進行了分離。實現類中,重寫了run方法:用來設置線程任務。
  • 超詳細解讀Java接口:模塊通信協議以及默認方法和靜態方法
    ,則可以通過接口來約定,也就是說,接口可以作為模塊與模塊之間通信的協議。定義接口,相當於制定了模塊之間通信的協議,兩個模塊要想通過接口進行通信,那麼必然是一個模塊實現了接口,提供了接口中聲明的方法實現,而另一個模塊則通過接口來調用其實現。
  • 帶你分析Java中接口與抽象類的相同與不同
    針對Java初級工程師的面試題中經常會出現接口和抽象類相關的題目。今天我就來說說接口和抽象類有哪些相同點,又有哪些不同點吧。01接口與抽象類的相同點接口和抽象類都不能被直接實例化為對象接口和抽象類都可以有抽象方法實現接口或繼承抽象類的普通類必須實現接口或抽象類中定義的抽象方法接口和抽象類都可以沒有抽象方法