从前面的总结中我们知道Lambda的使用场景是实现一个函数式接口,那么本篇就将阐述一下何为函数式接口以及Java的function包中提供的几种函数原型。

函数式接口

早期也叫作SAM(Single Abstract Interface),从全称能够看出是一种只定义了单个抽象方法的接口

在这里,由于需要引入新的概念,故先来学习何为默认方法,再顺便提一下接口中的静态方法。

默认方法(Virtual Extension Methods)

也称为虚拟扩展方法、防护方法,由Java8引入,意味着现在接口能够实现自身所声明的方法。
看一个示例:

public interface ExInterface {    default void doSomething() {
        System.out.println("I did something :)");
    }
}

如此我们就成功地给doSomething()方法赋予了默认操作,注意方法声明前的default关键字,表明这个方法拥有默认操作,如果不添加

网友评论