Java多线程02:Lambda表达式
Lambda表达式可以避免匿名内部类定义过多,让代码看上去很简洁,其实质属于函数式编程的概念
函数式接口
任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口,如Runnable接口
对于函数式接口,可以通过Lambda表达式来实现
实现函数式接口的方式
public class Main {
/**
* 2、静态内部类
*/
static class StaticClass implements Like {
@Override
public void like() {
System.out.println("这是静态内部类");
}
}
public static void main(String[] args) {
/**
* 3、局部内部类
*/
class LocalClass implements Like{
@Override
public void like() {
System.out.println("这是局部内部类");
}
}
/**
* 实例化普通接口实现类
*/
SimpleClass simpleClass = new SimpleClass();
simpleClass.like();
/**
* 实例化静态内部类
*/
StaticClass staticClass = new StaticClass();
staticClass.like();
/**
* 实例化局部内部类
*/
LocalClass localClass = new LocalClass();
localClass.like();
/**
* 4、匿名内部类
*/
Like anonymousClass = new Like() {
@Override
public void like() {
System.out.println("这是匿名内部类");
}
};
anonymousClass.like();
/**
* 5、Lambda表达式
*/
Like lambda = () -> {
System.out.println("这是Lambda表达式");
};
lambda.like();
}
}
/**
* 定义一个函数式接口
*/
interface Like {
void like();
}
/**
* 1、普通接口实现类
*/
class SimpleClass implements Like {
@Override
public void like() {
System.out.println("这是普通接口实现类");
}
}