JavaSE-函数式编程接口
目录 第一章:函数式接口 1.1 函数式接口介绍 1.2 格式 1.3 @FunctionalInterface注解 1.4 自定义函数式接口 第二章:函数式编程 2.1 Lambda延迟执行 2.2 使用Lambda作为参数和返回值 第三章:常用的函数式接口 3.1 Supplier接口 3.2 Consumer接口 3.3 Predicate接口 3.4 Function接口 第一章:函数式接口 1.1 函数式接口介绍 函数式接口在Java中是指: 有且仅有一个抽象方法的接口 。 函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。 从应用层面来讲,Java中的Lambda可以被当做是匿名内部类的“语法糖”,但是二者在原理上是不同的。 1.2 格式 只要确保接口中有且仅有一个抽象方法即可: 修饰符 interface 接口名称 { public abstract 返回值类型 方法名称(可选参数信息); // 其他非抽象方法内容 } 1.3 @FunctionalInterface注解 与 @Override 注解的作用类似,Java 8中专门为函数式接口引入了一个新的注解: