从前面的总结中我们知道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
关键字,表明这个方法拥有默认操作,如果不添加
延伸阅读
学习是年轻人改变自己的最好方式