- Lambda表达是的思想:
Lambda表达是的思想是函数式编程思想,强调的式实现什么;
而面向对象的编程思想,主要强调由哪个对象去做。
- Lambda表达式的标准格式:
(形式参数)-> { 代码块 }
- Lambda表达式的使用前提
有一个接口、有且仅有一个抽象方法
代码练习
public class DemoLambda {
public static void main(String[] args) {
userShowHandler(() -> {
System.out.println("Lambda表达式的show方法");
});
}
public static void userShowHandler(ShowHandler showHandler) {
showHandler.show();
}
}
interface ShowHandler {
void show();
}
- Lambda表达式的省略规则:
参数类型可以省略,多个参数的情况下,要么全部省略,要么不省略;
如果参数只有一个,小括号也可以省略;
如果代码块里只有一条语句,可以省略大括号和分号,return;
- Lambda表达式和匿名内部类的区别:
匿名内部类:可以是接口、抽象类
Lambda表达式:只能是接口
接口中只有一个抽象方法才可以用Lambda表达式
匿名内部类:编译之后产生.class字节码文件
Lambda表达式:运行时产生.class字节码文件