要想使用函数式编程有一个前提:接口必须只有一个方法
使用 @FunctionalInterface 注解
范例一:
接口名字 自定义名字=()->执行语句;
@FunctionalInterface
//是一个函数式编程接口,只允许有一个方法
interface M {
public void print();
}
public class Lambda1 {
public static void main(String[] args) {
//匿名内部例类,编写完整的语法
M m = new M() {
@Override
public void print() {
System.out.println("hello");
}
};
m.print();
// //lambda表达式,一个语句
// M m=()-> System.out.println("hello");
// m.print();
}
}
//hello
范例二:
@FunctionalInterface
interface N {
void print();
}
public class Lambda2 {
public static void main(String[] args) {
N n = () -> {
//注意分号
System.out.println("hello");
System.out.println("java");
};
n.print();
}
}
@FunctionalInterface
// 是一个函数式编程接口,只允许有一个方法
interface IMath {
public int add(int x, int y);
}
public class TestDemo {
public static void main(String[] args) {
// 函数式编程的使用,目的还是输出一句话
IMath msg = (p1, p2) -> p1 + p2;
// 只有一行返回
System.out.println(msg.add(10, 20));
}
}