三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

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

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

前序

一直以来,我们学习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源码即可发现。

 

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

 

← 返回列表