第10节:Lambda表达式


1.理论整理


λ是什么?

  1. λ是希腊字母,英文名为Lambda;

为什么要用lambda表达式?

  1. 避免匿名内部类定义过多;
  2. 可以让你的代码看起来很简洁;
  3. 去掉了一堆没有意义的代码,只留下核心的逻辑

学习lambda表达式要理解些什么呢?

  1. 理解Functional Interface(函数式接口)
  2. 函数式接口的定义:任何接口,如果只包含唯一 一个抽象方法,那么它就是一个函数式接口
  3. 对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。

2.实践

lambda表达式的诞生---->对函数式接口实现的不断简化:

原始方式1:在public class外侧定义一个实现接口的类,然后在main方法中实现
Java多线程系列(十):Lambda表达式
简化方式2:将接口实现方法放在public class内,main方法外<—>静态内部类
Java多线程系列(十):Lambda表达式
简化方式3:将接口实现方法放在main方法内<—>局部内部类
Java多线程系列(十):Lambda表达式
简化方式4:将接口实现方法变成匿名内部类
Java多线程系列(十):Lambda表达式
简化方式5:将接口实现方法变成lambda表达式
Java多线程系列(十):Lambda表达式
补充:lambda表达式的一些具体形式:

  1. 函数式接口中唯一一个方法是无参的,且只有一行命令:
    Java多线程系列(十):Lambda表达式
  2. 函数式接口中的参数类型是可以省略的:
    Java多线程系列(十):Lambda表达式

声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~

相关文章: