本帖最后由 黄秋 于 2012-2-15 06:47 编辑
注解(annotation)是 JDK 5 新引进的机制。注解使得Java源代码中不但可以包含功能性的实现代码,还可以添加元数据。注解的功能类似于代码中的注释,所不同的是注解不是提供代码功能的说明,而是实现程序功能的重要组成部分。
常见的 @Override和@SupressWarnings,这两个注解,称为标记注解(marker annotation ),就是打上个标记,便于其他方法找到它。其它的注解可以有自己的配置参数的,例如 @SuppressWarnings("unchecked"), 可取消:使用集合时,没有用泛型 (Generics) 来指定集合元素类型的警告。
下面为三种标准注解以及四种元注解:
1、@Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括:
ElemenetType.CONSTRUCTOR 构造器声明
ElemenetType.FIELD 域声明(包括 enum 实例)
ElemenetType.LOCAL_VARIABLE 局部变量声明
ElemenetType.METHOD 方法声明
ElemenetType.PACKAGE 包声明
ElemenetType.PARAMETER 参数声明
ElemenetType.TYPE 类,接口(包括注解类型)或enum声明
2、@Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:
RetentionPolicy.SOURCE 注解将被编译器丢弃
RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃
RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息
3、@Documented 将此注解包含在 javadoc 中
4、@Inherited 允许子类继承父类中的注解'
5、@Deprecated 表示当前元素是不赞成使用的。
6、@Override 表示当前方法是覆盖父类的方法
7、@SuppressWarnings 表示关闭一些不当的编译器警告信息 |