java8:java8新特性java
lamda表达式(重磅
)segmentfault
集合的stream操做app
提高HashMaps的性能ide
Date-Time Package性能
java.lang and java.util Packagesui
Concurrencythis
关键字 default 修饰符code
通常来讲default关键字是在switch-case中才使用的。在使用jdk8看List源码的时候,发现了default这个关键字做为修饰符。看如下List中的代码:blog
default void replaceAll(UnaryOperator<E> operator) { Objects.requireNonNull(operator); final ListIterator<E> li = this.listIterator(); while (li.hasNext()) { li.set(operator.apply(li.next())); } }
后来查询资料发现default关键字做为修饰符是java8 的新特性,是在接口中使用。使用default关键字可使接口中的方法有方法体,在接口实现的时候能够实现此方法,也可不用实现。能够参照下面例子:接口
/** * 接口中定义两个default方法 */ public interface TestInterface { default void init(){ System.out.println("interface init"); } default void destroy(){ System.out.println("destroy"); } }
/** * 建立TestClass类实现TestInterface接口 */ public class TestClass implements TestInterface { // 只实现接口中一个init()方法 @Override public void init(){ System.out.println("testClass init"); } public static void main(String[] args){ TestClass testClass = new TestClass(); testClass.init(); testClass.destroy(); } }