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

相关推荐

  • excel仪表盘怎么做

    excel仪表盘的做法:1、为 Excel 仪表盘创建布局;2、将数据导入 Excel;3、清理原始数据;4、使用 Excel 表格并筛选数据;5、分析、组织、验证和审核您的数据等。为 Excel 仪表盘创建布局,需要创建一个适当的草稿和逻辑工作簿结构, 1、为 Excel 仪表盘创建布局 工作表结…

    2023年2月24日
    34900
  • DLP和LCD投影的区别

    本文对比分析DLP和LCD投影技术的区别,包括成像原理、图像质量、使用寿命、效率和成本等方面。核心观点是DLP投影技术更为优越,因为它具有更高的对比度、更丰富的色彩以及更长久的使用寿命。 一、成像原理 二、图像质量 三、使用寿命 四、效率 五、成本 总结:通过以上各方面的比较,可以发现DLP投影技术…

    2023年8月4日
    1.1K00
  • oa办公哪个好用

    保持生产力和效率对于任何组织都至关重要,因此优选一个适宜的OA(Office Automation)系统是必须的。目前市面上存有多款OA办公软件,它们各自擅长不同领域。在众多选项中,不少组织偏好使用如Microsoft 365、Google Workspace 及Slack等,其中具有出色的协同作业…

    2024年1月11日
    17600
  • 每日计划软件哪个好用

    好用的每日计划软件有:一、有道云笔记;二、滴答清单;三、讯飞语记;四、千本笔记;五、暖暖手账;六、记事本 ;七、计划表。有道云笔记是一款多平台的记录工具,可以通过文档、扫描、语音、收藏等方式进行记录。书本中的内容也可以扫描保存到软件中,以便随时随地查看。 一、有道云笔记 有道云笔记是一款多平台的记录…

    2023年4月16日
    31100
  • 乔新亮:从死战冲锋陷阵的猛将,到掌兵多多益善的元帅

    文| babayage 编辑 |笑 笑 知识改变命运 1976年,乔新亮出生于内蒙古呼和浩特市托克托县,是家中四子。家母年少时是优等生,却因时代变革没能完成学业,她深信读书能改变命运,乔家的四个孩子也没有让母亲失望,不仅全部考上大学,还有三位攻读了研究生。 自小学起,凡有三好学生评选,乔新亮必将其收…

    2022年3月20日
    53600
  • 管理系统的开发方法

    管理系统软件设计中优先考察的要素: 1、系统需求的明确与精细化、2、用户界面的友好性与直观性、3、模块化与可扩展性、4、安全机制的严密与可靠性。系统需求的明确与精细化是开发过程的根本出发点。详细的需求分析确保开发团队与系统使用者的期望保持一致,避免后期因需求不明确带来的频繁修改和返工。 一、系统需求…

    2024年1月10日
    10600
  • 实践教程:通过代码审查提高研发效能

    通过代码审查提高研发效能的教程:1、代码审查的意义;2、建立代码审查流程;3、准备代码审查;4、执行代码审查;5、响应代码审查;6、代码审查的最佳实践;7、度量和评估;8、常见挑战与解决方案;9、提高代码审查效率的技巧。代码审查不仅是提高代码质量的手段,也是团队协作和技术成长的平台。有效的代码审查流程可以大大提高研发效能,减少错误和提升软件质量。

    2023年11月12日
    15400
  • 为什么Dropbox等大型服务使用Python作为主要语言

    Dropbox是一个大型服务,使用Python作为主要语言,这是因为Python具有很多优点:一、高级语言;二、解释型语言;三、可移植性;四、面向对象;五、强大的功能;六、开源;七、可扩展性和可扩充性;八、可嵌入性;九、丰富的库;十、规范的代码。 一、高级语言 Python是一种高级语言,因此在使用…

    2023年4月13日
    33300
  • 私有云和公有云的区别

    私有云和公有云的区别包括:1.所有权和控制不同;2.成本与投资不同;3.安全与合规性不同;4.可扩展性和灵活性不同;5.性能与资源优化不同;6.维护与支持不同;7.部署方式和地理位置不同。所有权和控制是二者最显著的差异,私有云通常是为单一组织或企业量身定制的,这意味着企业对其拥有完全的所有权和控制。…

    2023年7月21日
    33900
  • oa资源是什么

    OA资源通常指的是在线办公系统(Office Automation System)所提供的一系列资料与工具,包括电子邮件、日程管理、任务分配、实时通讯、文件共享等。重点在于提高企业办公效率、协同工作和资料管理。 OA资源在满足企业日常管理需要的同时,扩展到了移动办公、远程办公以及企业资源计划(ERP…

    2024年1月11日
    11000

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部