0
点赞
收藏
分享

微信扫一扫

SE - 注解(@)

佛贝鲁先生 2022-02-22 阅读 66
java

一、注解样式

@ 注解名 ,就是注解

例如:@Override,用在重写的方法上面

二、注解有什么用?

  • 注解是一种特殊的注释。
  • 代码基本的注释。不仅可以给人以说明解释作用
  • 也可以给另一段代码读取,提供相关的信息。
  • 例如: @Override,
    1. 程序员看到它,就知道这个方法是重写父类或父接口的方法。
    2. 编译器(javac.exe程序)看到它,就会对这个方法进行严格的格式校验,按照“重写”的要求进行校验。

三、元注解(4个)

1、定义

在声明注解时,加在注解上面的注解称为元注解。

2、具体作用及对应注解

  • @Target:限定注解使用位置(10个位置)
  • @Retention:标注注解的生命周期(也叫保持性策略—3个)
  • @Documented:标记这个注解可以被Javadoc.exe工具生成到API帮助文档中
  • @Inherited:用于注解声明时表示该注解可以被子类继承

四、注解生命周期(Retention详解)

1、注解的生命周期有三个阶段:SOURCE,CLASS,RUNTIME

  • SOURCE:源代码,源代码中这个注解存在,编译后这个注解忽略了
  • CLASS:字节码阶段,源代码和字节码中这个注解都有,但是一旦被加载到内存,这个注解就忽略了
  • RUNTIME:无论是源代码,还是字节码,甚至是加载后的JVM内存,这个注解都仍然存在。

2、注意事项

  • 注解的生命周期用RetentionPolicy枚举类型的三个常量对象表示。(以上三个)
  • 在声明注解时,需要指定注解的生命周期,否则默认是SOURCE阶段。
  • 如果要确保这个注解在反射阶段仍然可以被读取到,需要标记它的生命周期是RetentionPolicy.RUNTIME。

五、注解的使用位置(@Target详解)

TYPE(类/接口/枚举声明的上面),

FIELD(成员变量上),

METHOD(方法上)

PARAMETER(形参上)

CONSTRUCTOR(构造器),

LOCAL_VARIABLE(局部变量上),

 ANNOTATION_TYPE(注解声明上),

PACKAGE(包上),

TYPE_PARAMETER(泛型声明上),

TYPE_USE(泛型使用上)
 

(ps:整理不易,就想要个赞,给点鼓励吧,孩子想坚持下去)

举报

相关推荐

【JAVA SE】——注解和反射

JAVA SE

初始Java SE

Java SE 线程

java se试题

Java SE 集合

JAVA SE 11

【Java SE】多态

SE模块及其代码

0 条评论