元数据,可以直接添加到代码中,给程序或其他数据提供描述性信息。具有特定含义,通过某些方式或工具读取。
JDK注解
JDK自带标准注解
-
@Override
:表示子类方法覆盖父类方法。 -
@Deprecated
:已过时,不建议使用的API。 -
@SuppressWarnings
:取消编译器警告,让编译器对“它所标注的内容”的某些警告保持沉默。常用警告 作用 deprecation
使用了不赞成使用的类或方法时的警告 unchecked
执行了未检查的转换时的警告,例如当使用集合时没有用泛型来指定集合保存的类型 fallthrough
当 switch
程序块直接通往下一种情况而没有break
时的警告path
在类路径、源文件路径等中有不存在的路径时的警告 serial
当在可序列化的类上缺少 serialVersionUID
定义时的警告finally
任何 finally
子句不能正常完成时的警告all
关于以上所有情况的警告
JDK提供几个元注解
-
@Interface
:使用@interface
定义注解时,意味着实现了java.lang.annotation.Annotation
接口。 -
@Target
:表示这个注解可以用在什么地方。枚举类java.lang.annotation.ElementType
成员代表不同的元素类型。 -
@Retention
:表示这个注解要保留到什么时候。枚举类java.lang.annotation.Retention
成员代表不同的保留策略。 -
@Documented
:表明将此注解包含在Javadoc中。 -
@Inherited
:允许子类继承父类的注解。
自定义注解
import java.lang.annotation.*;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
public int id();
public String description() default "no description";
}
注解中的成员定义类似于方法。
注解应用
注解仅仅是定义了行为语义,而实现则需要程序在运行时通过反射的方式读取注解。通过对注解内容的解析,执行需要实现的操作。
网友评论