Java8支持多重继承吗?

Java8支持多重继承吗?,java,Java,我在阅读Java8中的接口时遇到了这个主题,在一些场景中,我们使用default或static关键字在接口中定义方法,允许下一个孩子重新定义相同的方法或实现它。这意味着多重继承吗?我发现还有一个问题,返回类型必须是co-variant类型,否则编译问题,这意味着它仍然不支持多重继承?我们可以说java支持多重继承吗?让我知道更多关于这个话题的细节 这意味着多重继承吗 对于接口,是的,但不是类。通常人们认为只有类才能有字段和构造函数。这与Java1.0没有什么不同 返回类型必须是共同变量类型,否则

我在阅读Java8中的接口时遇到了这个主题,在一些场景中,我们使用default或static关键字在接口中定义方法,允许下一个孩子重新定义相同的方法或实现它。这意味着多重继承吗?我发现还有一个问题,返回类型必须是co-variant类型,否则编译问题,这意味着它仍然不支持多重继承?我们可以说java支持多重继承吗?让我知道更多关于这个话题的细节

这意味着多重继承吗

对于接口,是的,但不是类。通常人们认为只有类才能有字段和构造函数。这与Java1.0没有什么不同

返回类型必须是共同变量类型,否则编译问题,这意味着它仍然不支持多重继承

协变返回类型的需要与是否具有多重继承无关

我们可以说java支持多重继承吗


对于接口,是的。

@Draken我不认为其他问题真的能回答他的问题-因为这个问题根本不是关于Java 8和接口内的默认实现。混淆之处在于继承一词的用法,从技术上讲,继承只应用于扩展类,而不应用于接口。所以我们不能做多重继承,但可以做多重实现。我觉得进一步阅读这个主题会有很大帮助是的,你是对的@Jägermeister另一个问题是,我们在接口中处理静态方法,以实现一个虚假的继承,我仍然会避免使用这个词,因为它给表带来了更多的混乱。与其说它是继承,不如说它是重写。如果我们编写的两个不同的接口具有相同的默认方法,但返回类型不同,那么Java希望返回类型在实现类中是共同变量类型。如果没有共同变量类型,Java将抛出编译器错误。但为了使它支持多重继承,返回类型可能会有所不同。我们可以使用静态方法使Java支持多重继承。还有一个问题,我们实际上必须附加父接口以使用其静态方法…@ShaikhNizamuddin如果您有两个方法返回不兼容的类型,那么开发人员可能会混淆给这些方法相同的名称。我建议使用不同的名称,这样开发者就可以清楚地知道他们期望得到什么样的结果。是的,对于返回类型不同的方法使用不同的名称是很好的。也许在即将发布的Java版本中(有点假设,乐观),我们可以看到这种联合变量类型是不含糊的@ShaikhNizamuddin类型推断在Java中是新的,但是它可以使用类型推断来确定应该调用哪个重载方法。注意:JVM在方法签名中包含返回类型,因此它支持具有相同名称和不同返回类型的方法(Java 6编译器中有一个bug允许您使用它)