• 对Java不能多继承,只能单继承,却可以实现多个接口的理解


    1、java与C++的不同点在于多继承。

    Java:不能多继承,只能单继承,但可以实现多个接口

    C++:可以实现多继承。
    例如: class A extends B implements C,D,E {}

    2、如若写成 interface A extends B,C,D 可以编译通过,这样是不是违背了JAVA的单继承特性呢?

    (1)接口可以继承多个接口是因为接口里面的定义的方法都是未实现的,不会增加复杂性。

    (2)接口不是类,而是对类的一组需求的描述。接口绝不能含有实例域,也不能在接口中实现方法。接口可以实现多继承不会增加代码的复杂性。

    (3)多继承是发生在执行期间的,而不是在编译期间,所以可以编译通过,并且不违背Java是单继承的。

    3、为什么接口可以继承多个接口?

    因为接口定义的都是抽象的方法,而且不能在接口中实现方法。所以,接口继承多个接口,并不会使接口的结构变得很复杂。相反,这样做,还能给一个团队在开发的过程中,提供很多便利。

    单继承指的是class,而不是interface. interface是可以多继承的。

    4、为什么JAVA改成只能单继承?

    因为在C++中一个类是可以继承自多个类,但这样的机制会使类的结构变的很复杂,所以JAVA将C++这一机制通过接口得以改善。
    JAVA中不允许类多重继承,只能单一继承,但有些情况单一继承并不能表达出现实世界中的某些逻辑关系,所以就提出了通过接口来实现多重继承。

  • 相关阅读:
    浮窗显示到毫秒时间的小工具 各大电商平台的时间
    非常不错的电脑截图软件介绍—截图加贴图。
    ​Everything 文件搜索神器 基于名称实时定位文件和目录
    THUPC2021初赛 & ICPC上海站游记
    旧题重做
    常用思想方法——数学期望篇
    vim 常用操作技巧
    生物制图软件——CirCos在Linux服务器上安装步骤:
    vue-element-admin 改造
    vue
  • 原文地址:https://www.cnblogs.com/cornucopia2015/p/4806697.html
Copyright © 2020-2023  润新知