1.介绍
其实lambda就是简化版的匿名内部类
//正常匿名内部类写法
Thread t = new Thread(new Runnable(){
@Override
public void run() {
System.out.println();
}
});
// lambda写法
Thread t = new Thread(()->{
System.out.println("giao");
});
思考: 1.省略new Runnable 也就是new 类名
2.省略public void run 也就是方法声明,只留下方法体
2.省略规则:
1.重写方法的参数位置,参数类型可以省略
2.重写方法如果有一个参数,参数的小括号可以省略
3.如果重写方法的方法体中,只有一句话,方法体的大括号,以及这句话的分号都可以省略
4.如果重写方法的方法体中,只有一句话,而且这句话带return,方法体大括号,这句话的分号,以及 return关键字都可以省略
3.要求
当然,Lambda表达式的要求也是非常严格,要求
1.必须有接口做参数传递
2.此接口必须只能有一个抽象方法-> 函数式接口
3.必须要重写方法