注解

1、 注解 Annotation

  jdk1.5引入的

  作用:

         不是程序本身,可以对程序做出解释。

         可以被其他程序读取。(注解信息处理流程,是注解和注释的最大区别)。

         生成文档

 

  格式:@注解名    //@Override 重写父类方法

 

  使用地方:package、class、method、field 都可以使用

 

  1.1   内置注解:

  @Override 重写父类方法

  @Deprecated 调用不建议使用的类、方法、属性时进行警告(加中划线)

  @SuppressWarnings    用来抑制编译时的警告信息

                                    需要添加参数才能使用

参数

说明

deprecation

使用了过时的类或方法的警告

unchecked

执行了未检查的转换时的警告,如使用集合未指定泛型

fallthrough

当在switch语句使用时发生case穿透

path

在类路径、源文件路径等中有不存在路径的警告

serial

当在可序列化的类上缺少serialVersionUID定义时的警告

finally

任何finally子句不能完成时的警告

all

关于以上所有情况的警告

    @SuppressWarnings(“unchecked”)

    @SuppressWarnings(“unchecked”,”deprecation”)

 

  1.2   自定义注解:

  使用@interface自定义注解,自动继承了java.lang.annotation.Annotation接口

  要点:

  a、@interface用来声明一个注解

               格式:public @interface 注解名

       b、其中每一个方法实际上是声明了一个配置参数

               方法的名称就是参数的名称

               返回值类型就是参数的类型(返回值类型只能是基本类型、class、String、enum)

               可以通过default来声明参数的默认值

               如果只有一个参数成员,一般参数名为value

        (注解元素必须要有值。默认值可以为空或0,为-1则表示不存在)

 

  元注解:负责注解其他注解,java中定义了4个常用元注解

        -@Target              描述注解的使用范围

        -@Retention         表示在什么级别保存该注解信息,用于描述注解的生命周期

          RetentionPolicy.SOURCE         在源文件中有效

                                    CLASS           在class文件中有效

                                    RUNTIME       在运行时有效(可以被反射机制读取)

        -@Documented    说明该注解将被包含在javadoc中

        -@Inherited          说明子类可以继承父类中的该注解

posted @ 2021-05-18 14:55  禾野牧村  阅读(58)  评论(0)    收藏  举报