Java注释简介

电脑杂谈  发布时间:2020-05-01 08:13:20  来源:网络整理

小颖java源代码编译_java中注释编译时_java 编译后加载

1)根据操作机制:

[源注释→编译注释→运行时注释]

源代码注释: 仅存在于源代码中,并且在编译成.class文件时不存在.

编译说明: 源代码和.class文件中均存在. 像以前的@ Override,@ Deprecated,@ SuppressWarnings一样,它们都是编译时注释.

运行时批注: 它们也可以在操作阶段使用,甚至会影响操作逻辑的批注. @ Autowired的自动注入之类的注释是运行时注释,它将在程序运行时自动注入您的成员变量.

2)根据消息来源:

[JDK的注释-第三方的注释-自定义注释]

小颖java源代码编译_java中注释编译时_java 编译后加载

3)元注释:

元注释用于注释注释,可以理解为注释是元注释.

以下是示例:

JDK自己的注释:

Java提供了三个内置注释.

1. @ Override——当我们想覆盖父类中的方法时,我们需要使用此批注告诉编译器我们要覆盖此方法. 这样,当父类中的方法被删除或更改时,编译器将提示错误消息.

2. @不推荐使用-当我们希望编译器知道不建议使用方法时,应使用此注释. Java建议在javadoc中使用此批注,我们应提供为什么不建议使用此方法的原因以及替代方法.

java中注释编译时_小颖java源代码编译_java 编译后加载

3. @ SuppressWarnings-这只是告诉编译器忽略特定的警告消息java中注释编译时,例如在泛型中使用本机数据类型. 其保留策略为SOURCE(译者注: 在源文件中有效),并且被编译器丢弃.

来自第三方的注释:

这主要来自各种框架,例如: @Service @Controller等.

自定义注释:

注释的编写非常简单,您可以将注释的定义与接口的定义进行比较. 让我们看两个示例: 一个是标准注释@Override,另一个是用户定义的注释@Todo.

@Target(ElementType.METHOD)

@保留(RetentionPolicy.SOURCE)

java中注释编译时_java 编译后加载_小颖java源代码编译

public @interface覆盖{

您可能对@Override批注有疑问,它什么也不做,所以它如何在父类中检查具有相同名称的函数当然,不要感到惊讶,我在取笑您. @Override批注的定义不仅仅是一小段代码. 这部分非常重要,我必须再次重复: 注释只是元数据,与业务逻辑无关. 有点难以理解,仅此而已. 如果注释不包含业务逻辑java中注释编译时,则必须有人实施该逻辑. 元数据的用户可以执行此操作. 注释仅提供有关其定义的属性(类/方法/包/域)的信息. 注释用户(也是一些代码)可以读取此信息并实现必要的逻辑.

当我们使用Java批注(例如@Override)时,JVM是用户,它在字节码级别工作. 此时,应用程序开发人员无法控制或使用自定义注释. 因此,我们解释了如何编写自定义注释.

让我们逐一讨论编写自定义注释的要点. 在上面的示例中,您看到了一些应用于注释的注释.

J2SE5.0版本在java.lang.annotation中提供了四种元注释,特别是注释了其他注释:

@已记录-注释是否将包含在JavaDoc中

@保留-何时使用此注释

java 编译后加载_小颖java源代码编译_java中注释编译时

@目标? –使用注释的地方

@Inherited –是否允许子类继承此批注

@ Documented –一个简单的Annotations标记注释,指示是否向Java文档中添加注释信息.

@保留–定义注释的生命周期.

RetentionPolicy.SOURCE在编译阶段被丢弃. 这些注释在编译后不再具有任何意义,因此不会以字节码编写. @ Override,@ SuppressWarnings都是这样的注释.

RetentionPolicy.CLASS在加载类时丢弃. 在字节码文件的处理中很有用. 注释默认情况下使用此方法.

RetentionPolicy.RUNTIME–将永远不会被丢弃,并且批注将在运行时保留,因此您可以使用反射机制来读取批注的信息. 我们的自定义注释通常使用此方法.

@ Target –指示在何处使用注释. 如果没有明确说明,便条可以放在任何地方. 以下是一些可用的参数. 应当注意,属性注释是兼容的. 如果要为所有7个属性添加注释,并且仅排除一个属性,则需要在定义目标中包括所有属性.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-195045-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...