1. 注解

作用:对我们的程序进行标注和解释

  • @Override: 描述子类重写父类的方法
  • @Deprecated: 描述方法已过时
  • @SuppressWarinings: 压制警告

2. 自定义注解

  1. public @interface 注解名称{
  2. // 类型:基本数据类型 String Class 注解 枚举 以上类型的一维数组如 int数组 枚举数组...等等
  3. public 属性类型 属性名 () default 默认值;
  4. }

如没有给出默认值,则在使用该注解时要传递值

如果该注解只有一个value注解没有默认值,则使用该注解时传递参数可以省略name

3. 元注解

描述注解的注解

  • @Target: 指定了注解能在哪里使用

    • ElementType.FIELD: 成员变量
    • ElementType.TYPE: 类
    • ElementType.METHOD: 方法
  • @Retention: 注解的生命周期(保留时间)

    • RetentionPolicy.RUNTIME: 如果没有指定时间,则只能在java中存活,编译成class文件后注解消失
  • @Inherited: 表示修饰的自定义注解可以被子类继承
  • @Documented: 表示该自定义注解,会出现在API文档里面

4. 获取方法中是否存在指定注解

  • isAnnotationPresent(注解的字节码): 判断方法中是否有指定注解 返回布尔值 注意使用改方法判断时,注解要设置生命周期保留到运行期间 @Retention(RetentionPolicy.RUNTIME)