Java内置了三种标准注解和四种元注解,元注解专门负责注解其他的注解:
A: Override覆盖超类的方法
B:Deprecated如果在程序中使用了该注解的元素,编译器会发出警告。
C: SuppressWarning关闭编译器不当的警告。
四种元注解:
A:@Target表示该注解可以用在什么地方,可能的取值:
1.CONSTRUCTOR构造器的声明
2.FIELD域声明(包括enum实例)
3.LOCAL_VARIBLE局部变量声明
4.METHOD方法声明
5.PACKAGE包声明
6.PARAMETER参数声明
7.TYPE类、接口
B:Retention表示需要在什么级别上保存该注解信息,可能的取值;
1.SOURCE注解将被编译器丢弃。
2.CLASS注解在class文件中可用,但会被VM丢弃。
3.RUNTIME VM将在运行期也保存注解,因此可以通过反射机制读取注解的信息。
C:Documented 将此注解包含在javadoc中
D:Inherited 允许子类继承父类中的注解
注解:
@interface XXX{}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface TestAnno {
// 定义一个value "属性"
String value() default "db";
// 定义一个count "属性"
int count() default 0;
}