Lambda去掉多余代码,让代码更加简洁,属于函数式编程的概念。
函数式接口:只含有唯一一个抽象方法的接口。对于函数式接口,我们可以利用Lambda来创建该接口的对象
如,Runnable就是函数式接口
public interface Runnable(){
public abstract void run();
}
举例:
外部类、静态内部类、局部内部类、匿名内部类、Lambda_完整、Lambda__可以去掉小括号、数据类型、花括号(只有一行代码时)
public class TestLambda {
//2、静态内部类
static class Like2 implements Ilike{
@Override
public void test(int a) {
System.out.println("lambda2");
}
}
public static void main(String[] args) {
Ilike like;
//3、局部内部类
class Like3 implements Ilike{
@Override
public void test(int a) {
System.out.println("lambda3");
}
}
//4、匿名内部类
like = new Ilike() {
@Override
public void test(int a) {
System.out.println("lambda4");
}
};
//5、Lambda表达式__完整
like = (int a) -> {
System.out.println("lambda5");
};
//6、Lambda表达式__可以去小括号、数据类型、花括号(只有一行代码时)
like = a-> System.out.println("lambda6");
}
}
//接口
interface Ilike{
void test(int a);
}
//1、实现类
class Like implements Ilike{
@Override
public void test(int a) {
System.out.println("lambda1");
}
}
Runnable也是函数式接口,因此在需要传入Runnable参数的地方,可以采用Lambda表达式,让代码更简洁()->{}