注解
注解为特殊标记,用于告诉程序如何执行
自定义注解
public @interface a{
public String name() default 默认值;//将方法作为属性。
String value();//特殊属性,即默认属性,即如果就只有一个value属性,则使用注解时无需指定value,默认赋值给value,注:此时的只有一个value属性,不仅代表注解只有一个value,如果注解有多个属性,但是多个属性都有默认值的话,则value属性也是可以不用写(value有默认值也是可以)。
}
元注解
注解注解的注解😏,第一个注解为动词,后面两个为名词。
- @Retention() 声明注解作用时机,即保留周期
- RetentionPolicy枚举类
- SOURCE 只作用源码阶段,字节码文件中不存在。
- CLASS(默认值)存在于源码与class文件中,但是运行时消失。
- RUNTIME 一直到运行时都存在。
- RetentionPolicy枚举类
- @Target() 声明注解作用位置
- ElementType 枚举类
- TYPE 类,接口
- FIELD, 成员变量
- METHOD, 成员方法
- PARAMETER, 方法参数
- CONSTRUCTOR, 构造器
- LOCAL_VARIABLE ,局部变量
- ElementType 枚举类