目录
定义
Lambda表达式表达就是函数式编程思想,JAVA这种面对对象的定义太繁琐,在处理各种数学运算,频繁的需要定义类,对象和方法之类的,所以引入Lambda编程方式
JDK8引入的3个特意功能
- Lambda表达式,Lambda使用的前提是函数式接口
- 在接口中引入了default普通方法——>JDK8之后才有,之前接口只有全局变量和抽象方法
- 函数式接口:一个接口只有一个抽象方法
接口的default普通方法
函数式的接口
Lambda表达式的前身
其前身就是匿名内部类,我们来对比这两个的区别(但是Lambda的实现的接口前提必须是函数式接口)
匿名内部实现
Lambda实现
Lambda表达式把匿名内部类多余的new方法实现定义只类的全部省略,只保留方法的参数和方法体的实现
Lambda表示式的四种方式
无返回值无参数
- 若方法体只有一条,那么可以省略大括号
无返回值有参数
- 若方法的参数只有一个,那么可以省略小括号
- 可以省略Lambda中参数的类型,若省略 类型,都需要省略
有返回值无参数
- 若抽象方法存在返回值且覆写的方法体的代码只有一行,那么此时return和大括号都可以省略
有返回值有参数