zoukankan      html  css  js  c++  java
  • 对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中不允许类多重继承,只能单一继承,但有些情况单一继承并不能表达出现实世界中的某些逻辑关系,所以就提出了通过接口来实现多重继承。

  • 相关阅读:
    pod 安装
    Mac百度云破解限速-修复选中没有导出下载
    swift -SnapKit一些基本使用
    xcode 显示多个重复模拟器
    xcode选择模拟器显示No Scheme
    Xcode删除指定版本的模拟器
    javaScript基础
    Dao模式多表联查
    SQLServer数据库
    数据库错题分析
  • 原文地址:https://www.cnblogs.com/cornucopia2015/p/4806697.html
Copyright © 2011-2022 走看看