函数接口是只有一个抽象方法的接口,用作Lambda表达式的类型。
在Java里,所有方法参数都有固定的类型。
使用只有一个方法的接口来表示某特定方法并反复使用
ActionListener接口:接受ActionEvent类型的参数,返回空
ActionListener只有一个抽象方法:actionPerformed,被用来表示行为:接受一个参数,返回空。
actionPerformed定义在一个接口里,因此 abstract 关键字不是必需的。该接口也继承自一个不具有任何方法的父接口:EventListener。
这就是函数接口,接口中单一方法的命名并不重要,只要方法签名和Lambda表达式的类型匹配即可。
在函数接口中为参数起一个有意义的名字,增加代码易读性,便于更透彻地理解参数的用途。
Java开发工具包(JDK)提供的一组核心函数接口:
javac 可以根据上下文自动推断出参数的类型,且用户也可以手动声明参数类型。