1、注解定义
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
2、JDK内置系统注解
(1)@Override注解
@Override是一个标记注解类型,用于修饰此方法覆盖了父类的方法。
(2)@Deprecated注解
@Deprecated是一个标记注解类型,用于修饰此方法是已经过时的方法。
(3)@SuppressWarnnings注解
@SuppressWarnings用于通知java编译器禁止特定的编译警告。SuppressWarning不是一个标记注解。它有一个类型为String[]的成员,这个成员的值为被禁止的警告名。
3、元注解
(1)@Target
用于描述注解的使用范围。
(2)@Retention
表示需要在什么级别保存该注释信息,用于描述注解的生命周期。
(3)@Documented
@Documented元注解是一个标记注解类型,@Documented用于描述其它类型的注解应该可以被javadoc此类的工具文档化。
(4)@Inherited
@Inherited元注解是一个标记注解类型,@Inherited阐述了某个被标注的类型是被继承的。
4、自定义注解
@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。可以通过default来声明参数的默认值。
定义注解格式:public @interface 注解名 {定义体}
只能用public或默认(default)这两个访问权修饰方法。例如,String value(),这里把方法设为defaul默认类型。如果只有一个参数成员,最好把参数名称设为“value”,后加小括号。
注解元素必须有确定的值,要么在定义注解的默认值中指定,要么在使用注解时指定,非基本类型的注解元素的值不可为null。因此, 使用空字符串或0作为默认值是一种常用的做法。