File size: 1,268 Bytes
0284885 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | package Lambda_package;
public class Lambda_demo2 {
public static void main(String[] args) {
/*
Lambda表达式的注意点:
1、Lambda表达式可以用来简化匿名内部类的书写
2、Lambda表达式只能简化函数式接口的匿名内部类的写法
3、函数式接口:
有且仅有一个抽象方法的接口叫做函数式接口,接口上方可以加@FunctionalInterface注解
*/
//1、利用匿名内部类的形式去调用下面的方法
//调用一个方法的时候,如果方法的形参是一个接口,那么我们要传递这个接口的实现类对象
//如果实现类对象只要用到一次,就可以用匿名内部类的形式进行书写
method(new Swim() {
@Override
public void swimming() {
System.out.println("正在游泳~");
}
});
//2、利用Lambda表达式进行改写
method(() -> {
System.out.println("正在游泳~");
}
);
}
public static void method(Swim s) {
s.swimming();
}
}
@FunctionalInterface
interface Swim {
public abstract void swimming();
}
|