【问题标题】:can anyone tell me why java doesnt support multiple inheritances........? [closed]谁能告诉我为什么java不支持多重继承............? [关闭]
【发布时间】:2015-05-31 11:40:07
【问题描述】:

我尝试创建一个 calc 类,该类将包含 Java 中尚未出现的数学运算符方法............

现在在我创建它之后......如果我想使用这个类函数,我将不得不将它作为我的新程序的超类但是......如果我希望我的新程序具有多个属性不同的类............并同时使用计算函数............但我不能............

为什么java没有多重继承.......它的优点和缺点是什么?

tnx 进阶...

【问题讨论】:

  • 通过删除“为什么 Java 设计成这样”的部分来编辑您的问题,并询问您需要解决的具体问题并添加一些代码以更清楚地说明您在做什么。 Java 没有多重继承,但还有其他方法可以实现您的目标。尤其是接口。
  • 简而言之:避免diamond problem
  • Java 8 引入了default methods,这似乎使 Java 中可以使用多重继承。
  • @Seelenvirtuose:看起来就是这样。还是不一样。

标签: java inheritance


【解决方案1】:

Java 不支持多重继承,因为“钻石问题”和其他由“增加的复杂性和模糊性”引起的问题,正如 wikipedia page 中所解释的那样

Java 的创造者有一个简单的设计目标。这就是为什么带有“复制构造函数”的附加复杂性的运算符重载也被排除在外的原因。这就是为什么有自动内存管理等的原因

大多数现代语言出于同样的原因选择放弃这个概念。

【讨论】:

  • 您包含的链接已失效
猜你喜欢
  • 2011-04-15
  • 2016-04-18
  • 2014-03-04
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-17
相关资源
最近更新 更多