Java8的一个重要的特性就是引入了函数式方法,其中Collection接口中增加了新的stream()方法。
我们都知道在Java的接口中只能定义方法,而不能对方法进行具体实现。其方法的实现必须要到实现了该接口的非抽象子类中实现。
因为接口导致的这个语法限制,使得要实现Collection接口的stream()方法全覆盖变得异常困难。难道所有继承了Collection接口的类中都要重写stream()方法的实现吗?显然不是的。机智的Java开发工程师们在Java8中引入了这样一个新的概念——’default’方法。