注解
jdk预定义注解
@suppressWarnings
压制警告
@Deprecated
标记该方法已经过时了
@overwrite
检查被该注解标注的方式是否是继承自父类
自定义注解
本质:本质上是接口继承annotation接口
属性:在接口定义的抽象方法返回结果必须是以下类型(基本数据类型、string类型、枚举类型、注解、数组类型)
注意点
.如果定义的属性时,使用default关键字给属性默认初始值,可以在使用注解是不赋值
如果只有一个属性需要赋值,而且该属性的名称是value,那么在赋值时 value可以省略
数组赋值的时候,值使用{}包裹,如果数组中只有一个值,那么{}可以省略
元注解
@Target
描述当前注解能够作用的位置
ElementType.TYPE:可以作用在类上
ElementType.METHOD:可以作用在方法上
ElementType.FIELD:可以作用在成员变量上
@Retention
描述注解被保留到的阶段(SOURCE < CLASS < RUNTIME)
SOURCE:表示当前注解只在代码阶段有效
CLASS:表示该注解会被保留到字节码阶段
RUNTIME:表示该注解会被保留到运行阶段 JVM
自定义的注解:RetentionPolicy.RUNTIME
@Documented
描述注解是否被抽取到JavaDoc api中
@inherited
描述注解是否可以被子类继承