Lambda表达式口诀
拷贝小括号,写死右箭头,落地大括号
语法现象
@FunctionalInterface:函数式接口: default、static可以定义多个
/**
* Lambda表达式口诀:拷贝小括号,写死右箭头,落地大括号
* 语法现象:@FunctionalInterface:函数式接口: default、static可以定义多个
* @author lichi
* @create 2021-07-15 10:17
*/
@FunctionalInterface
interface Foo {
//void sayHello ();
int add(int x, int y);
default int mul(int x, int y) {
return x*y;
}
default int mul2(int x, int y) {
return x*y*2;
}
static int div(int x, int y) {
return x/y;
}
static int div2(int x, int y) {
return x/y;
}
}
public class LambdaExpressDemo2 {
public static void main(String[] args) {
/*Foo foo = new Foo() {
@Override
public int add(int x, int y) {
return 0;
}
}*/
// Foo foo = () -> { System.out.println("hello foo"); };
// foo.sayHello();
Foo foo = (int x, int y) -> {
return x+y;
};
System.out.println(foo.add(3,5));
System.out.println(foo.mul(3,5));
System.out.println(foo.mul2(3,5));
System.out.println(Foo.div(10,5));
System.out.println(Foo.div2(12,6));
}
}
输出结果
8
15
30
2
2