注解

作者: 不要加香菜 | 来源:发表于2017-12-19 17:50 被阅读0次

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

    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中的注解小结

    相关文章

      网友评论

          本文标题:注解

          本文链接:https://www.haomeiwen.com/subject/iebgixtx.html