函数式接口
- 如果接口中,有且只有一个抽象方法,那么这个接口被称为 函数式接口
- 检查是否是函数式借口可以使用 @FunctionalInterface 注解
函数式接口 支持 lambda 表达式 (简化匿名内部类的写法)
- lambda 语法:(参数列表)-> {代码实现}
- 最终产物是 快速构建该函数式接口的子类对象
- 参数列表指的是 唯一的一个 抽象方法 的参数列表
- -> 固定的,不能做任何改动
- {代码实现} 指的是 抽象方法的具体实现
在 lambda 表达式 的 参数列表中
a) 所有参数的 类型 可以省略不写
b) 如果 有且只有一个参数, 则可以省略 小括号
在 lambda 表达式的 代码实现中
a) 如果 代码的实现 只有一行代码, 则可以省略 大括号,且该语句结尾的分号必须省略
b) 如果 省略 大括号后,该语句 包含 return 关键字,则 必须 省略 return