A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘丁 黑马帝   /  2012-2-15 05:09  /  2168 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何理解Annotation它又有什么作用。

1 个回复

倒序浏览
本帖最后由 黄秋 于 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  表示关闭一些不当的编译器警告信息
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马