package ThreadTest.Day1;
/**
* @author CCQ
* lambda表达式:简化代码
* 接口必须是函数式接口
* 函数式接口:只有一个抽象方法的接口。
*/
public class Test09 {
//静态内部类
static class L2 implements like{
@Override
public void lambda(int a) {
System.out.println("I like lambda2!"+a);
}
}
public static void main(String[] args) {
like l =new L1();
l.lambda(100);
l=new L2();
l.lambda(200);
//局部内部类
class L3 implements like{
@Override
public void lambda(int a) {
System.out.println("I like lambda3!"+a);
}
}
l =new L3();
l.lambda(300);
//匿名内部类
l =new like() {
@Override
public void lambda(int a) {
System.out.println("I like lambda4!"+a);
}
};
l.lambda(400);
//用lambda简化
l =(a)->{
System.out.println("I like lambda5!"+a);
};
l.lambda(500);
//简化lambda(简化参数括号,有多个参数以及没有参数不可以简化)
l =a-> {
System.out.println("I like lambda6!"+a);
};
l.lambda(600);
//再次简化lambda(如果有多行不能简化大括号)
l =a -> System.out.println("I like lambda7!"+a);
l.lambda(700);
}
}
interface like{
void lambda(int a);
}
//实现接口类
class L1 implements like{
@Override
public void lambda(int a) {
System.out.println("I like lambda1!"+a);
}
}
lambda表达式简单例子
最新推荐文章于 2022-11-25 13:00:00 发布