@FunctionalInterface
@FunctionalInterface
是一个注解,用于标识一个接口是函数式接口,即该接口只包含一个抽象方法。 函数式接口在Java8中引入,允许通过Lambda表达式来创建该接口的实例,从而实现函数式编程的特性。
提示
- 若一个接口满足只有一个抽象方法,不加
@FunctionalInterface
注解,也可以当做函数式接口使用。 - 若一个接口有多个抽象方法,添加
@FunctionalInterface
注解,会编译错误。
示例
java
public class FunctionalInterfaceTest {
@FunctionalInterface
public interface Fly {
/**
* 我会飞
*/
void doFly();
}
public interface Walk {
/**
* 我会走
*/
void doWalk();
}
// @FunctionalInterface
// public interface Error extends Fly, Walk {
// }
public static void main(String[] args) {
Fly fly = () -> System.out.println("我会飞");
Walk walk = () -> System.out.println("我会走");
fly.doFly();
walk.doWalk();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28