关于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源码即可发现。
觉得对你有帮助,关注博客和公众号。不定期分享最新前沿技术框架和bat大厂常用技术等,加群不定期分享行业内大牛直播讲课以及获得视频课件资料等。