為什么java的類是單繼承的,接口是多繼承的


如果一個類繼承了兩個類,但是這兩個類中有相同的方法,那么子類調用方法時,無法確定應該調用哪個父類的方法。

【c++是多繼承的】

 

接口

jdk1.7  接口可以多繼承,是因為當接口中是抽象方法。不存在上面的情況。

jdk1.8及以后版本,接口可以寫默認方法,多繼承時發現有同名的默認方法,編譯器會要求重寫默認方法

public interface A {

    void fun1();

    default void foo() {

    }
}
public interface B {
    void fun1();

    default void foo() {

    }
}
public interface C  extends A , B {

    @Override
    default void foo() {
        B.super.foo();
    }
    
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM