JDK 1.5 后引入了注解这一特性
在java.lang包下
1 作用
不是程序本身,可以对程序作出解释,而且可以被其他程序读取.
2 格式
@注解名
还可以添加参数,如@SuppressWarnings(value=“unchecked”)
3 使用范围
可以附加在package,class,method,field等上面,相当于给它们添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据的访问.
4 内置注解
@Override 修饰方法 表示重写
@Deprecated 修饰方法、属性、类 表示过时的,不鼓励的方案
@SuppressWarnings 抑制编译时的警告信息
5 元注解:修饰注解的注解
@Target 表示注解可以用于什么地方,可能的ElementType参数有:FIELD,METHOD,PACKAGE等等
@Retention 表示在什么级别保留注解信息,可选的RetentionPolicy参数包括:SOURCE,CLASS,RUNTIME
6 自定义一个注解
注解只有属性,且定义的方式类似于抽象无参方法.方法名就是属性名,返回值类型就是属性类型
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
int value();
}
上面的注解表示,名为Test的注解的作用时间是运行期间,可作用于方法上。