元注解

  元注解指用来定义注解的注解,例如:@Retention @Target Inherited @Documented等等。最为重要和经常使用的是@Retention @Target。

  @Retention

  @Retention用于定义注解生效的返回,取值类型为RetentionPolicy。RetentionPolicy是一个枚举类,定义了三种值:

  SOURCE:注解只存在源码中,编译后就回被消除,例如:@Override @SuppressWarnings等。

  CLASS:注解存在于源码和编译后的字节码文件中,但是运行时无法获取注解信息。

  RUNTIME:注解在运行时仍然生效,例如@Deprecated等。

  @Target

  @Target用于定义注解作用的对象,取值类型为ElementType。ElementType是一个枚举类,定义了一下几种值:

  TYPE:作用在类、接口和枚举。

  FIELD:作用在属性上,包括枚举变量的常量属性。

  METHOD:作用在方法。

  PARAMETER:作用在方法中参数。

  CONSTRUCTOR:作用在构造方法。

  LOCAL_VARIABLE:作用在局部变量。

  ANNOTATION_TYPE:作用在注解类型。

  PACKAGE:作用在包。

  注解定义

  JAVA注解使用@interface定义,基本的形式如下:

  @Target({ElementType.METHOD})

  @Retention(RetentionPolicy.RUNTIME)

  public @interface RuntimePrinter {

  String name;

  }

  注解解析

  注解解析使用JAVA反射机制,在Class、Field类中有如下方法,经常被使用在注解解析中。

  isAnnotationPresent:是否存在制定注解

  getAnnotation:获取标注的注解对象

最新文章

  1. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 角色权限的配置页面改进优化
  2. Elasticsearch 数据搜索篇·【入门级干货】
  3. oracle job草稿
  4. The "Real" Project Plan
  5. JavaScript基础--超级玛丽(七)(上下左右控制)
  6. 187. Repeated DNA Sequences
  7. 【暑假】[实用数据结构]UVAlive 3942 Remember the Word
  8. 【C语言】数字在排序数组中出现的次数(改动)
  9. HashMap和Hashtable的同和不同
  10. Miox带你走进动态路由的世界——51信用卡前端团队
  11. ~/.bashrc与/etc/profile的区别
  12. CSDN不登录阅读全文(最新更新
  13. Python -- queue队列模块
  14. sql server和oracle数据库
  15. 《DSP using MATLAB》Problem 6.8
  16. Make the DbContext Ambient with UnitOfWorkScope(now named DbContextScope by mehdime)
  17. flexbox父盒子flex-wrap属性
  18. 迷你MVVM框架 avalonjs 学习教程18、一步步做一个todoMVC
  19. Ubuntu:未找到合法的活动链接
  20. (转)AIX ODM 简介

热门文章

  1. python3连接外部Mysql
  2. 解决scalac Error: bad option -make:transitive
  3. SQL中的函数 •Aggregate 函数 •Scalar 函数
  4. Java 之反射机制
  5. 2015-03-20——移动端UC浏览器、QQ浏览器自动全屏
  6. ubuntu su failure when password was right
  7. django 多数据库时 ORM语句 选择数据库
  8. 3.Write Scripts for the mongo Shell-官方文档摘录
  9. Android Studio java和XML快速切换技巧
  10. unix 全缓冲、行缓冲、无缓冲