Java | Annotation 使用注解让你的程序更高级
简介
An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they annotate.
能够添加到 Java 源代码的语法元数据。类、方法、变量、参数、包都可以被注解,可用来将信息元数据与程序元素进行关联。Annotation 中文常译为“注解”。
Meta Annotation(元注解)
创建新注解时需要的注解 | |
---|---|
@Target | 表示该注解可以用于什么地方: TYPE:类、接口、注解类型、enum 声明 FIELD:域声明 METHOD:方法声明 PACKAGE:包声明 PARAMETER:参数声明 CONSTRUCTOR:构造器的声明 LOCAL_VARIABLE:局部变量声明 |
@Retention | 表示需要在什么级别保存该注解信息: CLASS:注解在 class 文件中可用,但会被 VM 丢弃 SOURCE:注解将被编译器丢弃 RUNTIME:VM 将在运行期间保留注解,因此可以通过反射机制读取注解的信息。 |
@Document | 将注解包含在 Javadoc 中 |
@Inherited | 允许子类继承父类中的注解 |
标准 Annotation
Jdk 自带的注解 | |
---|---|
@Override | 表示当前的方法定义将覆盖超类中的方法。 |
@Deprecated | 使用了注解为它的元素编译器将发出警告,因为注解@Deprecated 是不赞成使用的代码,被弃用的代码。 |
@SuppressWarnings | 关闭不当编译器警告信息。 |
自定义 Annotation
1 |
|
读取注解
@Retention(RetentionPolicy.SCORCE)
主要用于源码标记,比如说 JDK 自带的标准注解都是这样的。
@Retention(RetentionPolicy.CLASS)
@Retention(RetentionPolicy.RUNTIME)
更多资料
文章部分内容来源以下博客:
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Gavin Liu - 代码人生与科技生活
评论