Java 8支持多重继承吗?

问题描述:

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

+2

@Draken我不认为其他问题真的回答他的问题 - 作为问题并非在界面内谈论的Java 8和默认的实现所有。 – GhostCat

+0

混淆在于继承这个词的用法,从技术上说,继承只能用于扩展类,而不能用于接口。所以我们不能做多重继承,但可以做多重实现。我觉得在这个问题上的进一步阅读将有助于更多 – Draken

+0

是的,你是对的@Jägermeister –

这是否意味着多重继承?

对于接口,是的,但不是类。通常人们会想到类,因为只有类可以有字段和构造函数。这与Java 1.0没有什么不同

返回类型必须是协变类型的其他编译问题,这意味着它仍然不支持多继承?

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

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

对于接口,是的。

+0

如果我们编写具有相同默认方法但具有不同返回类型的2个不同接口,则Java预计返回类型在实现类中是协变类型。没有协变类型,Java会引发编译错误。但是为了使它支持多重继承,返回类型可能不同。我们可以使用静态方法使我们的Java支持多继承。仍然有一个问题,我们实际上不得不追加Parent接口来使用它的静态方法... –

+1

@ShaikhNizamuddin如果你有两个返回不兼容类型的方法,开发人员给这些方法命名可能会让人困惑。我建议给出不同的名称,因此开发人员使用它应该期望得到什么结果是明确的。 –

+0

对于具有不同返回类型的方法,使用不同的名称是很好的做法。也许在即将到来的Java版本中(有点假设,乐观),我们可以看到这种协变类型是非模糊的。 :) –

接口,, Interface..all的方式..谢谢

+0

大小写仍然存在不明确性返回类型不匹配,为了支持多继承,Java需要返回类型为协变类型。但用户可以*选择他自己的返回类型... –