关于interface(接口继承)extends(接口)interface的问题

前序

一直以来,我们学习java就被灌输了一个观点:

类和抽象类(class)只能被继承(extends),接口(interface)只能被实现(implements)。

 

有个概念我们一直没有弄懂的是:类(class)可以实现接口(interface),但是接口(interface)跟接口(interface)之间呢?

类可以继承类和实现接口,如下:

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
    ....
}

举例

接口(interface)与接口(interface)之间的关系:也是继承(extends),看如下代码:

1、jdk源码中Deque<E>队列接口的实现定义

public interface Deque<E> extends Queue<E> {
   ....
  }

2、再看Queue<E>队列接口的实现定义

public interface Queue<E> extends Collection<E> {
    ....
}

结合1和2两个步骤来看,发现有点不对??接口(interface)怎么可以继承(extends)接口(interface)呢?

跟印象中学习的java有冲突不一样啊?!

揭晓

通过以上实例证明,接口与接口之间的关系是:继承(extends),所谓接口扩展的原因吧。

自行查看jdk源码即可发现。

 

同名原创公众号: 程序大视界

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序大视界

原创不易,请给点支持和鼓励吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值