场景
Java 8中的接口现在支持在声明方法的同时提供实现,通过两种方式可以完成这种操作。
其一,Java 8允许在接口内声明静态方法。
其二,Java 8引入了一个新功能,叫默认方法,通过默认方法你可以指定接口方法的默认实现。
因此,实现接口的类如果不显式地提供该方法的具体实现,就会自动继承默认的实现。
这种机制可以使你平滑地进行接口的优化和演进。
比如List接口中的sort方法是Java中的全新方法,其定义中,返回类型有default修饰,通过它,能够知道一个方法是否为默认方法。
请注意返回类型之前的新default修饰符。通过它,能够知道一个方法是否为默认方法。
这里sort方法调用了Collections.sort方法进行排序操作。由于有了这个新的方法,
现在可以直接通过调用sort,对列表中的元素进行排序。
List<Integer> numbers = Arrays.asList(3,5,6,1,8);
numbers.sort(Comparator.naturalOrder());