Java中的注解(Annotation)
注解(Annotation) 又称Java标注,是 JDK1.5 引入的一种注释机制
1. 编译检查,Annotation不是程序本身,但可以对程序作出解释,可以被其他程序(如:编译器等)读取。
2. 在反射中使用,我们可以通过反射机制编程实现数据访问。
3. 根据 Annotation 生成帮助文档,通过给Annotation 加上 @Documented标签,使 该Annotation标签出现在javadoc中。
Annotation 的格式: 注解是以 “@注释名”在代码中存在的,还可以添加一些参数值。
例如:@SuppressWarnings(value="unchecked")
Annotation 在哪里使用?
可以附加在package、class、method、field等上面,相当于给他们添加了额外的辅助信息,可以通过反射对这些元数据访问。
JDK中的三个基本注解:
-
@Override
定义在java.lang.Override中,用于限定某个方法,是重写父类或实现接口的方法,该注解只能修饰方法。
-
@Deprecated
定义在java.lang.Deprecated中,此注解可以修饰方法、属性、类,用于表示某个程序元素(类、方法、属性等) 已经过时。
-
@SuppressWarnings
定义在java.lang.SuppressWarnings中,用于抑制编译时的警告信息,与前面两个注解不同,你需要添加一个参数才能正确使用,这些参数在JDK中已经定义好了的选择性使用(可多选)。
@SuppressWarnings(value="all") 屏蔽所有警告 【参数里的value字样可以省略,如: @SuppressWarnings("all")】
@SuppressWarnings("unchecked") 屏蔽未检查警告
@SuppressWarnings({"unchecked","deprecation"}) 屏蔽未检查警告 和 过时警告
示例图:@Override
示例图:@Deprecated
示例图:@SuppressWarnings
不使用@SuppressWarnings注解的情况:
使用@SuppressWarnings注解 到某个方法上的情况:
使用@SuppressWarnings注解 到类上的情况:
元注解 meta-annotatino
IDEA中 选中某个注解 按 ctrl + B 进入原码,可以查看该注解的作用域,下图是 @Override 注解源码: