java知识学习43-Lambda表达式
2021/4/25 12:27:10
本文主要是介绍java知识学习43-Lambda表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
函数式编程思想概述:
通过多线程匿名内部类写法和Lambda表达式写法作对比,分析其标准格式:Lambda三要素—》形式参数、箭头、代码块
Lambda表达式的格式:(形式参数)->{代码块};
形式参数:如果有多个参数,参数间用逗号隔开;没参数,为空即可;
->:代表指向动作。由英文中画线和大于符号组成,固定写法;
代码块:指具体要做的事情,即方法体内容。
Lambda表达式的使用前提:1、有一个接口;2、接口中有且仅有一个抽象方法。
实例:带参数和不带参数的抽象方法
带参数和返回值的抽象方法:
Lambda表达式省略规则:
1、参数类型可以省略,但是有多个参数的情况下,不能一部分省略一部分不省略,要么都不省略要么都省略;
2、如果参数只有一个,则小括号也可以省略;
3、如果代码块只有一条语句,则大括号和分号都可以省略,如果有返回值的则return也必须省略。
Lambda表达式注意事项:
Lambda表达式和匿名内部类的区别:
实例如下:
public static void main(String[] args) { // 匿名内部类方式 testInter(new Inter() { @Override public void show() { System.out.println("匿名类接口"); } }); testAabstr(new Aabstr() { @Override void show() { System.out.println("匿名类抽象方法"); } }); testStudent(new Student(){ @Override public void show() { System.out.println("匿名类具体方法"); } }); // Lambda表达式方式 testInter(()->System.out.println("Lambda实现接口方法")); // testAabstr(()-> System.out.println("Lambda不能实现抽象方法")); // 抽象类不能用Lambda表达式 // testStudent(()-> System.out.println("Lambda不能实现具体方法")); // 具体类不能用Lambda表达式 } public static void testInter(Inter a) { // 调用方法,入参传入一个接口实现类对象,该接口中有个show方法 a.show(); } public static void testAabstr(Aabstr a) { // 调用方法,入参传入一个抽象类对象,该抽象类中有个抽象show方法 a.show(); } public static void testStudent(Student a) { // 调用方法,入参传入一个具体类对象,该具体类中有个show方法 a.show(); }
这篇关于java知识学习43-Lambda表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解