Java系列文章目录
IDEA使用指南:快速高效掌握工具的配置与技巧(必用功能,JDK,Maven等)
一、前言
目的对Lambda表达式的总结
- 此篇是对B站博主AlbertShen讲的Lambda进行笔记总结
- 个人感觉讲的详细且逻辑清晰所以也进行学习总结
二、学习内容:
- Lambda表达式介绍
- Interface接口的基本概念
- 为什么要引入Lambda表达式
- Lambda表达式的语法
- 函数式接口与Lambda表达式
三、问题描述
本人想加深对Lambda表达式的理解
- 课本关于Lambda的知识实践太繁琐
四、解决方案:
4.1 引入Lambda表达式
interface接口声明方法不提供方法具体实现
简化实现函数式接口(Functional interface)
- 创建类
- 实现接口方法
- 实例化对象
- 调用方法
package org.example;
public class Email implements Message{
String email;
public Email() {
}
@Override
public void send() {
System.out.println("This is Email");
}
}
package org.example;
public class Sms implements Message{
String phoneNumber;
public Sms() {
}
@Override
public void send() {
System.out.println("This is Sms");
}
}
package org.example;
//接口声明与具体实现分开
//只业务只关心方法不关心具体实现
//类解耦与模块化
public interface Message {
void send();//抽象方法
}
- 每次使用都要新建对象
4.2 Lambda表达式作用与语法
Lamda是用来简化实现函数式接口(Functional interface)的
步骤如下:
- Lambda直接实现Message接口的的抽象方法
- 作为参数传给sendMessage()
- 参数可以直接调用方法
所以不需要像之前那样实例化
很明显Lambda实现了接口方法之后可以调用他
- 只有单条语句可以去除括号
- 复杂语句不能去除括号
- Lambda用在有且只有一个抽象方法的接口上
- 当作函数式接口
- 简化函数式接口的实现
多个的话不知道实现哪个抽象方法
简单来说只能有一个抽象方法
只有一个抽象方法
- 如果要使用Lambda我们要在接口加上注解
不加也行默认就有但是加上可以更直观告诉我们用的是Lambda表达式
五、总结:
5.1 学习总结:
总的来说
绿色部分实现函数式接口的方法
之后用接口就可以直接调用方法
- 可以不用新建对象来实现方法,简化步骤
声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。