java多线程-Lambda表达式
前言:在了解Lambda表达式之前可以先看一下常见的4种实现函数式接口的实现类
首先定义一个函数式接口,函数式接口是接口内部只有一个方法的接口
//定义一个函数式接口
interface ILike{
void lambda();
}
1.在public类外中实现
//实现类
class Like implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda");
}
}
2.pubilc类中的静态内部类
static class Like2 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda2");
}
}
3.main方法中的局部内部类
class Like3 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda3");
}
}
4.匿名内部类,没有类的名称,必须借助接口或者父类
like=new ILike() {
@Override
public void lambda() {
System.out.println("I like lambda4");
}
};
Lambda表达式和简写方式
1.正常写
//括号中添加参数
like =()->{
System.out.println("I like lambda5");
};
2.如果方法体中只有一个语句
like=()->System.out.println("I like lambda6");
3.如果只有一个参数
like=x->System.out.println("I like lambda7");