Lambda
01 () -> {}
new Thread(
() -> { System.out.println("hello Lambda"); }
).start();
//Runnable run 无参数无返回值
02 使用条件:接口类型,只有一个抽象方法
03
@FunctionalInterface
public interface MyFunctionalInterface {
public abstract int sum(int a,int b);
}
public class MyFunctionalInterfaceTest {
public static void main(String[] args) {
int sum = invokeSum(11,22,(a,b) -> (a+b) );
System.out.println(sum);
}
public static int invokeSum(int a1,int b1,MyFunctionalInterface functionalInterface){
return functionalInterface.sum(a1,b1);
}
}
//有参数 有返回值 FunctionalInterface注解:编译器判断接口是否只有一个抽象方法(接口是否为函数式接口)
new Thread(new Runnable(){
public void run(){ System.out.println("r"); }
}){
public void run(){ System.out.println("t"); }
}.start();
//运行结果:t
//Thread 默认的 run 方法 是 调用 Runnable 的 run
//但是被 重写了,所以打印 t