@FunctionalInterface
interface Foo {
public void sayHello();
}
@FunctionalInterface
interface MySum{
public int getSum(int x, int y);
}
/**
* Lambda 函数式编程
* @author MaJiatao
* Lambda Express
* 1 前提:接口里面有且仅有一个方法声名
* 2 拷贝中括号--写死右箭头---落地大括号
* 3 @FunctionalInterface标注注解,如果不标注也会默认添加上
* 4 default 方法实现(几乎没人用)
* 5 静态方法(几乎没人用)
*/
public class LambdaDemo {
public static void main(String[] args) {
//匿名内部类的写法
/*Foo foo = new Foo() {
@Override
public void sayHello() {
// TODO Auto-generated method stub
System.out.println("*****hello bigdata 0308");
}
};
foo.sayHello();*/
//Lambda Express 写法
Foo foo = null;
foo = () -> {
System.out.println("Lambda hello");
};
foo.sayHello();
System.out.println("===================");
MySum mySum = null;
mySum = (int x, int y) -> {
return x+y;
};
int sum = mySum.getSum(3, 4);
System.out.println(sum);
}
}