为什么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();
    }
    
}
原文地址:https://www.cnblogs.com/moris5013/p/10683573.html