1.注解
注解(annotation),或者叫做注释,是一种引用数据类型,编译之后生成xxx.class文件。
2.注解的语法格式
[修饰符列表] @interface 注解类型名{
}
3.注解怎么使用,用在哪里
- 注解使用的语法格式:
@注解类型名
- 注解可以出现在类上、属性上、方法上、变量上等,注解还可以出现在注解类型上。
4.JDK内置的注解
java lang包下的注释类型:
1)Override
表示一个方法声明打算重写超类中的另一个方法声明。
- @Override这个注解只能注解方法;
- @Override这个注解是给编译器参考的,和运行阶段没有关系;
- 凡是java中的方法带有该注解的,编译器都会进行编译检查,如果这个方法不是重写父类的方法,编译器报错。
2)Deprecated
该注解表示标注的元素已过时。主要是向其它程序员传达一个信息,告知已过时,有更好的解决方案存在。
3)SuppressWarnings
指示应该在注释元素(以及包含在该注释元素中的所有程序元素)中取消显示指定的编译器警告。
5.元注解
用来标注“注解类型”的注解,称为元注解。(注解的注解叫做元注解)
常见的元注解有哪些:Target、Retention。
1)Target注解
该Target注解用来标注“被标注的注解”可以出现在哪些位置上。如:@Target(ElementType.METHOD)表示“被标注的注解”只能出现在方法上。
2)Retention注解
该Retention注解用来标注“被标注的注解”最终保存在哪里。
@Retention(RetentionPolicy.SOURCE):表示该注解只被保留在java源文件中。
@Retention(RetentionPolicy.CLASS):表示该注解被保存在class文件中。
@Retention(RetentionPolicy.RUNTIME):表示该注解被保存在class文件中,并且可以被反射机制所读取。
6.注解中定义属性
public @interface MyAnnotation {
String name(); //这是一个属性,name属性
int age() default