Java中的接口多繼承機制

問題原因

今天在看集合源碼的時候,突然看到接口繼承接口,覺得有點差異,以前寫代碼也就是類繼承一個類,實現接口。這樣寫的多瞭,突然看到接口繼承接口就有點詫異瞭,以為哪裡不對。就測試,查閱瞭一些資料

在這裡插入圖片描述

一個接口可以同時繼承多個接口

書寫接口測試

public interface Jiekou extends Jiekou1,Jiekou2{
    
     void jiekou();
}

public interface Jiekou1 {
    
    void jiekou1();
    
}
public interface Jiekou2 {

    void jiekou2();
}

public interface Jiekou3 {
    
    void jiekou3();
    
}


如上,是沒有問題的,所以Java是支持接口多繼承

接口不能實現任何接口

代碼驗證

public interface Jiekou implements Jiekou2{

     void jiekou();
}

如圖提示:No implements clause allowed for interface

在這裡插入圖片描述

如上-接口不能實現任何接口

一個類可以實現多個接口

類實現多接口代碼

public class Aggregate implements Jiekou,Jiekou3{


    @Override
    public void jiekou() {

    }

    @Override
    public void jiekou1() {

    }

    @Override
    public void jiekou2() {

    }

    @Override
    public void jiekou3() {

    }
}

如上 類實現多接口也是沒有問題的

一個類隻能繼承一個父類

首先構建父類和子類代碼

public class FatherOne {

}
public class FatherTwo {
    
}
//類繼承一個類是沒有問題的
public class Son extends FatherOne{
    
}

如果多個類就會提示你: Class cannot extend multiple classes

在這裡插入圖片描述

總結:

一個類隻能extends一個父類,但可以implements多個接口。java通過使用接口的概念來取代C++中多繼承。與此同時,一個接口則可以同時extends多個接口,卻不能implements任何接口。因而,Java中的接口是支持多繼承的。

到此這篇關於Java中的接口多繼承機制的文章就介紹到這瞭,更多相關Java接口繼承內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: