Java中没有任何参数的注释是什么意思?

时间:2019-06-11 10:04:31

标签: java annotations functional-interface

我试图从JDK理解@Functional接口,无法理解为什么他们没有主体就创建了这个注释?

我不明白在类描述中使用@FunctionalInterface与不使用之间有什么区别?这个没有参数的注释提供了什么?

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface FunctionalInterface {}

1 个答案:

答案 0 :(得分:3)

如果添加它,那么在不破坏您的functional interface的情况下,其他人将无法添加更多方法,并且会出现编译时错误:

Invalid '@FunctionalInterface' annotation; MyInterface is not a functional interface
  

如果使用该注释类型对类型进行注释,则编译器必须生成错误消息,除非:

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