zoukankan      html  css  js  c++  java
  • 接口是否继承接口

    原文地址: https://blog.csdn.net/zhoufoxcn/article/details/1700018

    接口可以继承接口,并且可以继承不只一个接口,但是不能实现接口。因为接口的成员方法都具有抽象属性,不具有方法体无法实现继承的接口。

    在传统的教科书或者书籍中都会灌输我们一个观念,那就是抽象类可以被继承(extends),接口可以被实现(implements),但是抽象类不能被实现(implements),接口也不能被继承(extends),但是今天这个观点有些地方被颠覆了。

    抽象类可以被继承(extends),接口可以被实现(implements),但是抽象类不能被实现(implements),这三个观点确实没有什么问题,但是接口却是可以被继承的,当然你也许会举一个类似下面的例子来证明接口是不能被继承的,代码如下:

    确实上面的代码不能被编译通过,会出现以下错误:

    也许你就想以上面的例子来证明我的观点是错误的,但是请看下面的例子:

    看看图中高亮部分代码,它是可以通过编译的,下面的编译结果:

    通过以上实例说明接口之间是可以继承的,也就是所谓的接口扩充,这样一来继承了一个接口的类就有了两个接口的方法。

    总结:接口可以继承接口,类只能实现接口。

    接口可以继承多个接口

    interface test1{}
        interface test2{}
        interface test3{}
        interface test4 extends test1,test2,test3{}
    

    接口是常量值和方法定义的集合。接口是一种特殊的抽象类。

    java类是单继承的。classB Extends classA
    java接口可以多继承。Interface3 Extends Interface0, Interface1, interface…… 
    不允许类多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承那一个呢?
    但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。 
    注意  
    1)一个类如果实现了一个借口,则要实现该接口的所有方法。
    2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。 
    3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。
  • 相关阅读:
    MongoDB 连接
    MongoDB 概念解析
    Linux平台安装MongoDB
    window平台安装MongoDB
    MongoDB 简介
    NoSQL 简介
    Docker有用的资源
    Docker常见仓库Redis
    Docker常见仓库MongoDB
    微信小程序
  • 原文地址:https://www.cnblogs.com/qcq0703/p/8809813.html
Copyright © 2011-2022 走看看