CodeGym /Java 博客 /随机的 /注释。第 1 部分 — 有点无聊
John Squirrels
第 41 级
San Francisco

注释。第 1 部分 — 有点无聊

已在 随机的 群组中发布
第 1 部分。我已经非常简要地介绍了 SOURCE 和 CLASS 类型的注释。这篇值得一读,免得在第二部分迷路,扩大你的“误解”一点=)我保证你至少会知道一个词! 注释。 第 1 部分 — 有点无聊 - 1 我第一次在这里的任务中看到注释时,我并没有太在意它们。到处都是@Override,但 IDEA 添加了它,所以我认为它必须是那样的。随着时间的推移,我意识到一切都更加深刻。在您学习的过程中,注释可能看起来有些无用,但却是必要的。你不知道它们为什么存在或它们做什么。您已经阅读了几篇文章,它们说:“我们现在有了注释真是太好了,一切都变得如此简单。” 但我不知道以前是怎样的,也不明白现在的事情容易多了。现在我确实知道并想分享一点。 有 3 种类型的 (RetentionPolicy) 注解:
  • SOURCE - 编译器的注解
  • CLASS——注释中的信息将以字节码形式写入,但在运行时不可用。他们说标准库有很多这种类型的注解,现在为了向后兼容保留了下来。这用于非常具体的任务。
  • StackOverflow 上的问答
  • RUNTIME——这些注释是最受欢迎的。它们在代码执行时使用。
介绍占了文章的一部分,所以这里写一下SOURCE和CLASS注解。这些是我能找到的注释(感谢 Task 3607)。我不会讨论运行时注释——它们太多了,它们不是本文的主题。 来源:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/注解/Generated.class
  • java/lang/Override.class
班级: 我不知道为什么需要 CLASS 注释。现有注释的文档无处可寻,所以我认为您可以将这个包袱留在后面。但如果你找到了,请分享。源注释:
  1. Native——带有这个注解的变量可以引用本地代码;
  2. SuppressWarnings——这个注释抑制了各种编译器警告;
  3. 已生成——此注释标记已生成的源代码;
  4. 覆盖——这个注解检查方法覆盖。
了解更多信息:

@本国的

Native——我从未见过也从未使用过。我认为这是一个相当罕见的注释,因为当您需要以另一种“本机”语言运行代码时会用到它。我试过但没有找到明确的提及。

@SuppressWarnings

SuppressWarnings — 此注解通常像这样使用:@SuppressWarnings("unchecked")。它用于抑制您已经知道的警告。前面的示例禁止显示有关未经检查的类型转换的警告。同样,这是我遇到的唯一用法。

@生成

已生成——由于我必须从 XSD 文件生成类的任务,我现在遇到了这个注释。这 3 个注释非常具体,目前您很可能不感兴趣。我将描述最后一个。

@覆盖

覆盖——你经常使用它,它做了一些非常有用的事情。重写方法时,没有IDEA的帮助很容易出错。无论是拼写错误还是简单的错误,错误都会发生。该注释将确保父类中的方法与我们的(注释的)方法相匹配。这确保该方法将被覆盖而不是添加。重构代码时,可能会删除或更改父方法。同样,此注释将指示错误。没有它,我们的方法将被简单地添加。 无聊的?我会说是的。从这篇文章中收集到的帮助不大。这里几乎所有内容 (90%) 都描述了您永远不会使用或很少使用的东西。剩下的 10% 是在跟@Override 注解打招呼和描述,乍一看没什么用。也就是说,我认为文章的第二部分会更有趣。将讨论运行时注释——它们在执行期间与代码交互并施展黑魔法。 注释。第 2 部分。龙目岛
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION