我们可以将此代码称为多重继承吗?
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?的重复,因为这个线程正在谈论称为虚拟扩展的功能。
我的问题是询问我的实现是否称为多重继承或其他。
答案 0 :(得分:1)
java
不支持支持多重继承。
您正在做的是实施interface
。 您无法在java
中扩展多个类,但您可以实现多个接口。
接口是引用类型,它类似于类。它是抽象方法的集合。类实现接口,从而继承接口的抽象方法。接口还可以包含常量,默认方法,静态方法和嵌套类型。方法体仅适用于默认方法和静态方法。
类描述对象的属性和行为,接口包含类实现的行为。
有关interface
,click here
答案 1 :(得分:0)
Java不支持多重继承。
您目前所做的是实现绝对允许的多个接口。