Java default关键字

在阅读Collection源码时,发现Collection接口继承了接口Iterable,Iterable内部有两特别的个方法:

default void forEach(Consumer<? super T> action) {
    Objects.requireNonNull(action);
    for (T t : this) {
        action.accept(t);
    }
}

default Spliterator<T> spliterator() {
    return Spliterators.spliteratorUnknownSize(iterator(), 0);
}  

发现接口Iterable内部由具体的函数实现,被default关键字修饰,查阅资料得知,default是Java1.8的新特性,接口内不可以实现具体的函数,前提是使用default修饰,因此在实现使用了default修饰方法的接口的时候,可以重写接口default,可以默认使用父类方法,具有多态性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容