注解(Annotation)其实就是代码里的特殊标记, 它用于替代配置文件,也就是说,传统方式通过配置文件告诉类如何运行,有了注解技术后,开发人员可以通过注解告诉类如何运行。在Java技术里注解的典型应用是:可以通过反射技术去得到类里面的注解,以决定怎么去运行类。
注释(Comment):给代码添加说明和解释,注释帮助开发人员理解程序。
注解(Annotation):给代码添加说明,这个说明给程序使用。
三个基本的 Annotation:
- @Override:限定重写父类方法, 该注解只能用于方法
- @Deprecated:用于表示某个程序元素(类, 方法等)已过时
- @SuppressWarnings:抑制编译器警告
自定义注解
定义新的 Annotation 类型使用@interface关键字。
注意:自定义注解的时候,名称不能重复,注解影响整个项目
注解属性的类型:
- String类型
- 基本数据类型
- Class类型
- 枚举类型
- 注解类型
- 以上类型的一维数组
//Student注解
public @interface Student {
String[] name(); //可以是数组
}
//Gender枚举
public enum Gender {
BOY, Girl;
}
//Person注解
public @interface Person {
String name() default ""; //default是默认值
int age() default 30; //默认是有public修饰的,不能有其他修饰符
Class<?> cls();
Gender gender() default Gender.BOY; //枚举
Student stu(); //注解
}
JDK的元注解
元Annotation指修饰注解的Annotation。
元注解的分类:
- @Retention: 只能用于修饰一个 Annotation 定义, 用于指定该 Annotat