函数式接口:如果一个接口中,只声明了一个抽象方法,则此接口就称为函数式接口。
- 你可以通过Lambda表达式来创建该接口的对象。(若Lambda表达式抛出一个受检异常(即非运行时异常),那么该异常需要在目标接口的抽象方法上进行声明)。
- 我们可以在一个接口上使用@Functiongallnterface注解,这样做可以检查它是否是一个函数式接口。同时Javadoc也会包含一条声明,说明这个接口是一个函数是接口。
- 在Java.util.function包下定义了Java的丰富的函数式接口
Java内置的四大核心函数式接口:
Java内置的其他函数式接口:
Consumer<String> con = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
con.accept("五月加油");
System.out.println("**********************************8");
Consumer<String> con1 = (String s) ->{
System.out.println(s);
};
con1.accept("加油");
}
@Test
public void test2(){
Consumer<String> con = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
con.accept("五月加油");
System.out.println("**********************************8");
Consumer<String> con2 = (s) ->{
System.out.println(s);
};