为什么java的类是单继承的,接口是多继承的

时间:2023-03-08 17:52:27
为什么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();
} }