Java为什么不支持多继承

这是因为为了降低复杂度和简化语言,java 中不支持多重继承。考虑一个场景,其中 A、B 和 C 是三个类。C 类继承 A 和 B 类。如果 A 类和 B 类有相同的方法,并且你从子类对象中调用它,那么调用 A 类或 B 类的方法就会有歧义。

Java为什么不支持多继承-Worktile社区

为了降低复杂度和简化语言,java 中不支持多重继承。考虑一个场景,其中 A、B 和 C 是三个类。C 类继承 A 和 B 类。如果 A 类和 B 类有相同的方法,并且你从子类对象中调用它,那么调用 A 类或 B 类的方法就会有歧义。

由于编译时错误优于运行时错误,如果继承 2 个类,Java 会呈现编译时错误。所以无论你有相同的方法还是不同的方法,都会出现编译时错误。

首先,我们要知道继承这个概念在面向对象语言中本身就是和 类 同等重要的地位,继承也是面向对象语言中最为重要的特征之一。基于类的概念,类是将需要写的代码抽象化成一个个具有相同属性或行为的东西,如果我们想要去初始化一个子类,那么一定代表是具有父类的特征的。这样我们还得到了其他好处:

可以直接获取父类的字段和行为

可以修改父类的行为

可以重载父类的行为(即指多态的概念)

可以添加新的字段和行为

这样进一步把面向对象语言具有更多的功能,更加的抽象。所以从高效使用语言和方便快捷使用语言的好处来看,既可以提高我们所写的程序的抽象程度,而且还是实现了父类代码的复用,还兼具了修改功能,以此提高了开发效率和可维护性。

我们继续考虑子类是由父类功能和属性的拓展,延伸而来的,所以想想哪个关键词可以表达派生,延伸的概念,于是引入了 ​ ​**Extends**​ ​ 来表示继承的概念,后面连接的类名是代表从哪里继承而来的。引入了Java中的继承是通过extends关键字来实现的。

延伸阅读:

什么是Java

Java programming language具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的”形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种”以对象为导向”的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.8,最近版本为Java19。

文章标题:Java为什么不支持多继承,发布者:小编,转载请注明出处:https://worktile.com/kb/p/36155

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编
上一篇 2023年1月30日 下午10:58
下一篇 2023年1月30日 下午11:00

相关推荐

  • 开源文档协作工具:2024年10款评测

    国内外主流的10款开源文档协作平台对比:PingCode、Worktile、蚂蚁笔记(Leanote)、Wizard、Kooteam、ShowDoc、MrDoc、DooTask、语雀、WookTeam 。 在今天的数字化时代,寻找一个能够提高团队合作效率并确保信息共享流畅的解决方案,成了许多企业和个…

    2024年8月5日
    700
  • 企业如何智选知识管理工具?2024年8大精选

    本文将分享2024年8大优质企业知识管理工具:PingCode、Worktile、飞书文档、语雀、石墨文档、有道云笔记、Confluence、Document360。 很多公司都面临信息过载,难以将散落各处的知识有效整合和应用。这不仅影响决策效率,还可能导致重要信息的丢失。为了解决这一痛点,企业知识…

    2024年8月5日
    300
  • 产品经理秘籍:2024年9大主流需求管理工具

    本文将分享9款产品经理使用的主流需求管理工具:PingCode、Worktile、Tapd、禅道、Teambition、Testin、JIRA、Jama Connect、Wrike。 挑选一个能够高效精准地捕捉和管理需求的工具,对于推动项目成功至关重要,很多产品经理都面临着如何从众多选项中选择最适合…

    2024年8月5日
    400
  • 选择客户管理crm系统必看:全球15家顶级供应商综合比较

    对比的客户管理CRM系统包括:纷享销客、Zoho CRM、销售易、用友CRM、Salesforce、Microsoft Dynamics 365、销帮帮CRM、HubSpot、Oracle CRM、悟空CRM、神州云动CRM、红圈CRM、SAP CRM、Odoo、OroCRM。 一个合适的CRM系统…

    2024年8月5日
    800
  • 项目竣工资料管理软件有哪些

    项目竣工资料管理软件有许多,其中最为出色的要数PingCode和Worktile。这两款软件以其优秀的性能和功能,赢得了用户的青睐。简单来说,PingCode是一款专门为开发者设计的协作平台,强调代码质量、团队协作和敏捷开发。而Worktile则是一款面向企业的项目和任务管理工具,帮助团队更好地协作…

    2024年8月5日
    300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部