什么是函数式接口?自定义一个函数式接口
2021/8/28 6:07:49
本文主要是介绍什么是函数式接口?自定义一个函数式接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
什么是函数式接口?自定义一个函数式接口
-
1、函数式接口是有且只有一个抽象方法的接口
-
2、Java中拥有大量函数式接口,如:java.lang.Runnable
-
3、JDK8后提供了一系列新的函数式接口,位于java.util.function
lambda语法格式:
-
(参数列表) -> 实现语句。
-
参数列表:使用逗号分隔参数,参数类型可省略,单参数括号可省略。
-
实现语句:单行直接写,多行用{}包裹。
-
注意:lambda表达式只能实现有且只有一个抽象方法的接口,这种接口java称为“函数式接口”。
案例:
定义只有一个抽象方法的“函数式接口”
@FunctionalInterface public interface MathOperation { float operator(int a, int b); }
注解:@FunctionalInterface //通知编译器这是函数式接口,进行抽象方法检查
传统方式是要创建一个Addition类继承这个接口,然后再实现这个接口里的函数,在main函数中再实例化一个Addition对象,调用addition.operate(3,5);才能达到如下一样的目的。
class ILambdaTest { @Test void testLambdaOperator() { // 标准写法 MathOperation add = (a, b) -> { System.out.println("加法运算"); return a + b; }; // 简洁写法 MathOperation subtruction = (a, b) -> a - b; System.out.println("add = " + add.operator(1,3)); System.out.println("subtruction = " + subtruction.operator(1,3)); } }
这篇关于什么是函数式接口?自定义一个函数式接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28MQ底层原理资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:入门与初级用户指南
- 2024-11-28MQ消息队列资料入门教程
- 2024-11-28MQ消息队列资料:新手入门详解
- 2024-11-28MQ消息中间件资料详解与应用教程
- 2024-11-28MQ消息中间件资料入门教程
- 2024-11-28MQ源码资料详解与入门教程
- 2024-11-28MQ源码资料入门教程
- 2024-11-28RocketMQ底层原理资料详解