模块 java.base
 java.lang

注解功能接口


@Documented @Retention (RUNTIME ) @Target (TYPE ) public @interface FunctionalInterface
一种信息性注解类型,用于指示接口类型声明旨在成为功能接口由 Java 语言规范定义。从概念上讲,功能接口只有一个抽象方法。由于 默认方法 有一个实现,它们不是抽象的。如果一个接口声明了一个抽象方法来覆盖 java.lang.Object 的公共方法之一,那么 not 也会计入接口的抽象方法计数,因为该接口的任何实现都将具有来自 java.lang.Object 或其他地方的实现。

请注意,功能接口的实例可以使用 lambda 表达式、方法引用或构造方法引用来创建。

如果使用此注解类型对类型进行注解,则编译器需要生成错误消息,除非:

  • 该类型是接口类型,而不是注解类型、枚举或类。
  • 注解类型满足功能接口的要求。

但是,无论接口声明中是否存在 FunctionalInterface 注释,编译器都会将满足功能接口定义的任何接口视为功能接口。

Java 语言规范:
4.3.2 类对象
9.8 功能接口
9.4.3 接口方法体
9.6.4.9 @FunctionalInterface
自从:
1.8