Java default关键字

2018-04-21  本文已影响0人  yuruihua

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

上一篇下一篇

猜你喜欢

热点阅读