java和多重继承

时间:2017-02-24 13:38:40

标签: java inheritance interface multiple-inheritance

我们可以将此代码称为多重继承吗?

interface Interface {

    public int alpha = 0;
    public int calculA(int a, int b);
    public int calculB(int a, int b);
}

interface InterfaceA extends Interface {

    public default int calculA(int a, int b) {
        return a + b;
    }
}

interface InterfaceB extends Interface {

    public default int calculB(int a, int b) {
        return a - b;
    }
}

class TestInterface implements InterfaceA, InterfaceB {

    public TestInterface() {
        System.out.println(alpha);
        System.out.println(calculA(5, 2));
        System.out.println(calculB(5, 2));
    }

    public static void main(String[] args) {
        new TestInterface();
    }
}

看起来默认关键字允许具有多重继承。

这是正确的还是这个概念有另一个名字?

感谢的

修改

这不是Are defaults in JDK 8 a form of multiple inheritance in Java?的重复,因为这个线程正在谈论称为虚拟扩展的功能。

我的问题是询问我的实现是否称为多重继承其他

2 个答案:

答案 0 :(得分:1)

java 不支持支持多重继承。

您正在做的是实施interface您无法在java中扩展多个类,但您可以实现多个接口

接口是引用类型,它类似于类。它是抽象方法的集合。类实现接口,从而继承接口的抽象方法。接口还可以包含常量,默认方法,静态方法和嵌套类型。方法体仅适用于默认方法和静态方法。

类描述对象的属性和行为,接口包含类实现的行为。

有关interfaceclick here

的更多信息

答案 1 :(得分:0)

Java不支持多重继承。

您目前所做的是实现绝对允许的多个接口。