Java 自定义注解
1.注解的作用:
对Java中类、方法、成员变量做标记,然后进行特殊处理。
例如:JUnit框架中,标记了注解@Test的方法就可以被当成测试方法执行,而没有标记的就不能当成测试方法执行
2.使用一个注解分为3步:
2.1 第1步: 自定义注解格式(模板):
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(value = { ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER })
public @interface 注解名称 {
public 属性类型 属性名() default 默认值 ;
}
例如:
@Documented
@Inherited
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Book {
//书名
String value();
//价格
double price() default 100;
//多位作者
String[] authors();
}
其中, 上面几个注解的含义
@Documented 表明该注解标记的元素可以被Javadoc 或类似的工具文档化
@Inherited 表明使用了@Inherited注解的注解,所标记的类的子类也会拥有这个注解。
@Target 应用于类、接口(包括注解类型)、枚举
@Retention 该注解的生命周期:运行时RUNTIME
2.2 使用注解
@Book(value = "红楼梦", authors = {"曹雪芹", "无名氏", "程伟元", "高鹗"})
public class BookStore {
}
元注解:就是注解注解的注解