1.什么是注解?
注解Annotation是一种引用数据类型,编译之后生成xxx.Class文件
2.定义注解的语法格式
[修饰符列表] @interface注解类型名{}
注解在任何地方都可以使用
3.java.lang包下的注解
(1)@Deprecated:表示已过时的
(2)@override:表示一个方法声明打算重写超类的方法声明
@override注解是标识性注解,只能注解方法,这个注解是给编译器参考的,和运行阶段没有关系,java方法中凡是带有这个注解的,编译器会自动进行检查该方法是否重写了父类的方法,如果这个方法没有重写父类的方法,则编译器报错
(3)@SupressWarning:抑制编译器警告
4.为什么@override注解不能修饰类?
看源码可以知道:@Targe(ElementType.METHOD),@override被@Targe修饰,使得@override只能运用在方法上
@Retention(RetentionPolicy.SOURCE):该注解只保留在java源文件中
@Retention(RetentionPolicy.CLASS):该注解被保留在class文件中
@Retention(RetentionPolicy.SOURCE):该注解被保留在class文件中,并且可以被反射机制读取
注意:用来标注注解的注解被称为元注解(@Targe)
5.常见的元注解有哪些
@Target
@Retention