对我们的程序进行标注和解释
常用注解
@Override
: 重写父类中的方法@Deprecated
: 描述方法已过时@SuppressWarnings
: 压制本方法中的所有警告
自定义注解
格式
public @interface 注解名称 {
public 属性类型 属性名 () default 默认值;
}
public @interface Anno {
// 定义一个基本类型的属性
int a () default 123;
// 定义一个String类型的属性
public String name() default "xlrong";
// 定义一个Class类型的属性
public Class clazz() default 类名.class;
}
使用自定义注解
// 待补全
System.out.println("This is a Code");
元注解
描述注解的注解
Target
: 指定了注解可以在哪里使用Retention
: 可以理解为保留时间(生命周期)RetentionPolicy.CLASS
: 注解将由编译器记录在类文件中,但VM
不需要在运行时保留RetentionPolicy.RUNTIME
: 注解将由编译器记录在类文件中,并由VM
在运行时保留,因此可以反射读取RetentionPolicy.SOURCE
: 注解将被编译器丢弃
Inhention
: 表示修饰的自定义注解可以被子类继承(使用注解的类,这个注解可不可以被继承)Documented
: 表示该自定义注解,会出现在API
文档中
注意
- 在使用注解时,如果一些属性没有默认值,我们要手动给出属性值
- 特殊属性
value