注解

元数据,可以直接添加到代码中,给程序或其他数据提供描述性信息。具有特定含义,通过某些方式或工具读取。

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";
}

注解中的成员定义类似于方法。

注解应用

注解仅仅是定义了行为语义,而实现则需要程序在运行时通过反射的方式读取注解。通过对注解内容的解析,执行需要实现的操作。

参考

  1. Java Annotation认知(包括框架图、详细介绍、示例说明)
  2. JAVA中的注解小结

你可能感兴趣的:(注解)