只有一个抽象方法的接口就叫函数式接口
@FunctionalInterface来标注函数式接口
基本使用
1,函数式接口作为方法的参数,且函数式接口中的方法没有参数
2,函数式接口作为方法的参数,且函数式接口的方法中有参数
3,函数式接口作为方法的返回值,且函数式接口中的方法没有参数
4,函数式接口作为方法的返回值,且函数式接口的方法中有参数
//非函数式
new 接口名(){
修饰符 返回值类型 方法名(参数类型 参数名) {
sout("hello");
}
}
//函数式 -> :用于
( 参数名) -> {sout(“hello”);}
(参数名) -> sout(“hello”)
//非函数式
new 接口名(){
修饰符 返回值类型 方法名(参数类型 参数名) {
return "abc";
}
}
//函数式
( 参数名) -> {return “abc”;}
(参数名) -> “abc”;
lambda表达式:
形参类型可以省略
如果方法体中的代码只有一行,可以省略{}
如果方法体中的代码只有一行,且是一个返回语句,可以省略{},也可以省略return关键字