1.1 目标
掌握Lambda的前提条件
Lambda的语法非常简洁,但是Lambda表达式不是随便使用的,使用时有几个条件要特别注意:
1. 方法的参数或局部变量类型必须为接口才能使用Lambda
2. 接口中有且仅有一个抽象方法
package com.itheima.demo01lambda;import java.util.Collections;public class Demo06LambdaCondition {public static void main(String[] args) {// 方法的参数或局部变量类型必须为接口才能使用Lambdatest(() -> {});Runnable r = new Runnable() {@Overridepublic void run() {System.out.println("aa");}};Flyable f = () -> {System.out.println("我会飞啦");};}public static void test(Flyable a) {new Person() {};}}// 只有一个抽象方法的接口称为函数式接口,我们就能使用Lambda@FunctionalInterface // 检测这个接口是不是只有一个抽象方法interface Flyable {// 接口中有且仅有一个抽象方法public abstract void eat();// public abstract void eat2();}
1.2 小结
Lambda表达式的前提条件:
1. 方法的参数或变量的类型是接口
2. 这个接口中只能有一个抽象方法
