首页 > 文体艺术 > 问答 > java 为什么不能多继承,Java为什么不支持多继承

java 为什么不能多继承,Java为什么不支持多继承

来源:整理 时间:2023-02-07 06:53:46 编辑:技能培训 手机版

为什么Java不支持多重继承,可以考虑以下两点。如果你把这个理由告诉面试官,他会问为什么C 可以支持多重继承而Java不行,④继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了,②是不是为了尽可能替代类的继承。

1、Java为什么不支持多继承?

Java为什么不支持多继承

这是非常经典的问题,与为什么String在Java中是不可变的很类似;这两个问题之间的相似之处在于它们主要是由Java创作者的设计决策使然。为什么Java不支持多重继承,可以考虑以下两点:第一个原因围绕钻石形继承问题产生的歧义,考虑一个类A有foo()方法,然后B和C派生自A,并且有自己的foo()实现,现在D类使用多个继承派生自B和C,如果我们只引用foo(),编译器将无法决定它应该调用哪个foo(),

这也称为Diamond问题,因为这个继承方案的结构类似于菱形,见下图:即使我们删除钻石的顶部A类并允许多重继承,我们也将看到这个问题含糊性的一面。如果你把这个理由告诉面试官,他会问为什么C 可以支持多重继承而Java不行,嗯,在这种情况下,我会试着向他解释我下面给出的第二个原因,它不是因为技术难度,而是更多的可维护和更清晰的设计是驱动因素,虽然这只能由Java言语设计师确认,我们只是推测。

维基百科链接有一些很好的解释,说明在使用多重继承时,由于钻石问题,不同的语言地址问题是如何产生的,对我来说第二个也是更有说服力的理由是,多重继承确实使设计复杂化并在强制转换、构造函数链接等过程中产生问题。假设你需要多重继承的情况并不多,简单起见,明智的决定是省略它,此外,Java可以通过使用接口支持单继承来避免这种歧义。

2、java为什么要设计interface,是为了尽可能替代类的继承吗?

java为什么要设计interface,是为了尽可能替代类的继承吗

你好,你的问题包含了两个小问题,①java设计interface的原因?②是不是为了尽可能替代类的继承?接口与继承分别是什么?(定义)接口是一系列方法的声明,比如方法名、参数、返回值等信息,接口中的方法不实现,这些方法可以在不同的地方被不同的类实现,继承就是子类继承父类的特征和行为,使得子类具有父类的实例域和方法。

接口与继承的设计原因是什么?(用处)接口的主要作用在于降低代码的耦合度,屏蔽实现层,比如前后端接口交互的时候,大家约定好接口层就可以互不影响的干活了,至于接口实现后端可以慢慢做,继承的主要作用在于,在已有基础上继续进行功能的扩充①清晰体现相关类间的层次结构关系②减小代码的冗余度,大大增加程序的重用性。

接口与继承有什么区别?①定义的修饰符不同(interface),(extends)②接口中只能定义全局常量和抽象方法,而在继承中可以定义属性方法,变量,常量等,③接口被类实现时,在类中一定要实现接口中的所有方法,而继承可以调用指定方法。④继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了。


文章TAG:继承javaJava支持java 为什么不能多继承

最近更新

  • 兰州哪里有学着烤烧烤的,兰州哪里可以学习烧烤技术兰州哪里有学着烤烧烤的,兰州哪里可以学习烧烤技术

    美味学院烧烤课程丰富,风味烧烤,风情自助烤,中东烧烤,红外线烧烤,木炭烧烤,无烟自助烧烤,地方风味烧烤等荤类,素类一应俱全。美味学院的烧烤课程中不仅可以学到正宗的烤羊肉,还包含了其他荤类烧.....

    问答 日期:2023-02-15

  • 不同服装该怎么搭配妆容,穿衣搭配该如何调整不同服装该怎么搭配妆容,穿衣搭配该如何调整

    不同的社交情景,穿衣搭配该如何调整。在室内社交情景中,服装的搭配,你是不是以社交情景思考时尚的人,不同的社交情景,穿衣搭配该如何调整,色彩运用,当下色彩搭配比较夸张,新的各种色彩相互混搭.....

    问答 日期:2023-02-15

  • 电信客服怎么培训,电信客服都做什么电信客服怎么培训,电信客服都做什么

    截至2018年末,全国客服从业人员约320万,较2017年增长18%,主要分布在电信运营商、金融、教育培训、娱乐、电商、生活服务、软件技能服务及其他等。近年来,随着互联网产业的快速发展,客服行业.....

    问答 日期:2023-02-15

  • 中考成绩太差怎么办,初中成绩一直不好中考成绩太差怎么办,初中成绩一直不好

    初中成绩不好,学不进去,我该怎么办。况且,350分的中考成绩,放在今年,真的很差,有一个多月就要中考了,中考目前录取比例维持在50%左右,班里前10名左右的孩子去重点高中,学习成绩中等和中等偏上10.....

    问答 日期:2023-02-15

  • 做成人高考需要什么,成人高考需要做哪些准备做成人高考需要什么,成人高考需要做哪些准备

    成人高考大致分为三个层次,有成人高考专升本、高起本、高起专每个成人高考学校里的每一个专业招生计划和要求都不同。成人高考高升专、文史类、公安类、艺术类需要语文、数学、外语理工.....

    问答 日期:2023-02-15

  • 初中毕业的有什么发展,初中毕业的女生有什么出路初中毕业的有什么发展,初中毕业的女生有什么出路

    口腔,高铁乘务,汽修,计算机等2、如果想初中毕业直接读中专的话,可以学习汽修,美容美发,计算机等无论哪一条路,初中毕业正是叛逆的年龄,所以读书,进入一个相对上进的环境比较重要,五年制大专里和.....

    问答 日期:2023-02-15

  • 四路混音台怎么用,混音的调音台只有16路四路混音台怎么用,混音的调音台只有16路

    有一种方式,这也是我比较喜欢用的方式,就是我先对每个音轨分别用插件进行混音。为什么说够呢,你可以在混音的时候,对每个音轨分别用台子进行混音,当做完一部分之后,可以直接导出做完的音轨,然.....

    问答 日期:2023-02-15

  • 三菱plc怎么学,如何系统性学习三菱plc三菱plc怎么学,如何系统性学习三菱plc

    今天我们以三菱PLC为例,来聊聊如何快速地学会三菱PLC。三菱PLC开关量学的差不多了,入门数据怎么学,开关量也就是一些逻辑开关,常闭常开的处理,接下来你要接触的是1基本指令,2程序流程,3数据传.....

    问答 日期:2023-02-15

文体艺术排行榜推荐