Java函数式编程是从jdk1.8开始引入的,主要是为了提高编程效率。
函数式接口
函数式接口(Functional Interface)是指有且仅有一个抽象方法,但可以有多个非抽象方法的接口。函数式接口类通常都会在类上添加@FunctionalInterface注解来表示
如JDK类库中的Consumer接口, 有且只有一个抽象方法accept(),同时还有一个非抽象方法。所以Consumer接口类就属于函数式接口。
实例化函数式接口
函数式接口编程的实例化方式主要有三种:lambda表达式,方法引用和构造函数引用。
下面可以通过代码来了解这三种不同的实例化方式
1.lambda表达式实例化
对于lambda表达式实例化, ->之前表示函数式接口抽象方法的参数,如果有多个参数,则需要用()将多个参数组合在一起, ->之后表示当我们调用函数式接口抽象方法时具体的代码实现。
/**
* Created by gaoling on 2020/9/28.
*/
public class FunctionalInstanceTest {
public static void main(String[] args){
Consumer consumer = msg -> { System.out.println(msg);};
consumer.accept("Test");
}
}
</