首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java中的多重继承

java中的多重继承
EN

Stack Overflow用户
提问于 2009-08-11 19:36:53
回答 8查看 5.5K关注 0票数 9

Java不允许从多个类继承(仍然允许从多个接口继承),我知道这非常符合经典的菱形问题。但我的问题是,当从多个基类继承时没有歧义(因此没有菱形问题的机会)时,为什么java不允许像C++那样的多重继承?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-08-11 19:39:25

这是一个Java的design decision。你永远不会得到它,所以不要太担心它。尽管MI可能会帮助您制作Mixins,但这是唯一好的MI。

票数 17
EN

Stack Overflow用户

发布于 2009-08-11 19:44:50

我读到过大多数程序员没有以适当的方式使用多重继承。在多重继承的情况下,“只是为了重用代码而继承类”不是最佳实践。

在大多数情况下,许多程序员不知道何时使用简单继承。多重继承必须谨慎使用,而且只有当你知道自己在做什么的时候,才能有一个好的设计。

我不认为java (如c++)中的多重继承的缺失会给你的代码/应用程序设计/问题域映射到类带来限制。

票数 6
EN

Stack Overflow用户

发布于 2012-04-06 23:00:43

简单性。引用Tom Sintes的话:

Java设计团队努力使Java:

  • 简单、面向对象且熟悉的
  • 强大而安全的
  • 体系结构中立且便携的
  • 高性能线程化和动态

省略Java语言的多重继承的原因主要源于“简单、面向对象和熟悉”的目标。作为一种简单的语言,Java的创建者想要一种大多数开发人员无需大量培训就能掌握的语言。为此,他们努力使该语言尽可能地类似于C++ (熟悉),而不带着C++不必要的复杂性(简单)。

在设计者看来,多重继承带来的问题和混乱比它解决的问题更多。因此,他们减少了语言的多重继承(就像他们减少了操作符重载一样)。设计师们丰富的C++经验告诉他们,多重继承是不值得头疼的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1262447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档