当前位置: 首页 > 知识库问答 >
问题:

在Java中没有任何参数的注释是什么意思?[副本]

傅泉
2023-03-14

我试图从JDK中理解@functional interface,但我不明白为什么他们创建了这个没有正文的注释?

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

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

共有1个答案

乜璞瑜
2023-03-14

如果您添加了它,那么有人将无法在不破坏您的功能接口的情况下添加更多的方法,并且将得到一个编译时错误:

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

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

  • 该类型是接口类型,而不是批注类型、枚举或类。
  • 带注释的类型满足功能接口的要求。
 类似资料:
  • 问题内容: 以上方法的注释意味着什么? 例如,注释存在于Class的getClassLoader方法中 问题答案: 根据我在评论中链接到的JEP(也在此处), 调用方敏感方法根据其直接调用方的类来改变其行为。它通过调用该方法来发现其调用者的类。 如果你看执行 ,您注意到它正在使用。如果我们看那种方法 返回调用此方法的方法的调用者的类,而忽略与之关联的框架及其实现。 在此JEP之前,似乎存在的问题是

  • 可能重复: 什么 我在一些java代码中遇到了一些不熟悉的符号,虽然代码编译和功能正确,但我对尖括号在代码中的确切作用感到困惑。我在com中找到了代码。太阳Java语言帮助搜索位缓冲区,其片段如下: 那些看起来神秘的括号是做什么的?它看起来几乎像c插入/提取,但我知道Java没有这样的东西。 此外,我还尝试在谷歌上搜索,但出于某种原因,谷歌似乎看不到尖括号,即使我把它们放在引号中。

  • 什么是at在这组java代码中是什么意思?我试过搜索,但找不到任何解释。有人知道,请给我解释一下。非常感谢你。 BatchFileController.java

  • 问题内容: 在搜索Python项目时,我发现有几行用注释。 在Python中是什么意思?它仅特定于Python吗? 问题答案: 添加到一行表明该linter(自动检查代码质量的程序)不应检查此行。代码可能已生成的任何警告都将被忽略。 该行可能对短绒棉“看起来不好”,但是由于某种原因,开发人员理解并希望它存在。 有关更多信息,请参见Flake8文档中的选择和忽略违规。

  • 可能重复: 之间的差异 什么是<代码> 为什么