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,可以默认使用父类方法,具有多态性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。