Java注解之Retention、Documented、Inherited、target介绍

Retention注解---(retention 的翻译 保留)

Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值:
1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略
2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略
3.RetentionPolicy.RUNTIME —— 这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用.

Documented 注解

Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中.

Inherited注解---(inherited 的翻译 遗传)
@Inherited:允许子类继承父类的注解。

@Target注解

Target注解说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。

@Target(ElementType.TYPE) //接口、类、枚举、注解
@Target(ElementType.FIELD) //字段、枚举的常量
@Target(ElementType.METHOD) //方法
@Target(ElementType.PARAMETER) //方法参数
@Target(ElementType.CONSTRUCTOR) //构造函数
@Target(ElementType.LOCAL_VARIABLE)//局部变量
@Target(ElementType.ANNOTATION_TYPE)//注解
@Target(ElementType.PACKAGE) ///包

时间: 2024-08-24 00:59:42

Java注解之Retention、Documented、Inherited、target介绍的相关文章

Java注解之Retention、Documented、Target介绍

先看代码,后面一个个来解析: @Retention(RetentionPolicy.RUNTIME) @Target(value = {ElementType.METHOD, ElementType.TYPE}) @Documented public @interface Authority { }   Retention注解 Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值: 1.RetentionPolicy.SOURCE —— 这种类型的Annotation

java注解(Annotation)的简单介绍

注解你可以理解为一个特殊的类,或者接口其自定义个格式形如 public @interface 注解名(){ //注解的属性,特别提醒当注解的属性为value时,在对其赋值时,可以不写value,而直接写上值即可. } 下面一个例子讲述了注解的基本应用:(这个例子中A代表一个注解类,写一个D注解的目的是说明一个注解类中可以有注解这个属性.B代表应用了注解类的类,C代表对应用了注解类的类进行反射操作的类.) 代码如下://定义一个注解D(D的作用只是为了说明A中可以有一个注解的属性) package

Java注解介绍

原文链接: Java Annotations: An Introduction原文日期: 2005年10月14日翻译日期: 2014年07月20日翻译人员: 铁锚 翻译完后,感觉这篇文章是不是在http://www.developer.com被挖坟了? Java注解介绍 基于注解(Annotation-based)的Java开发无疑是最新的开发趋势.[译者注: 这是05年的文章,在2014年,毫无疑问,多人合作的开发,使用注解变成很好的合作方式,相互之间的影响和耦合可以很低]. 基于注解的开发将

Java 注解那些事儿

今日无事,应狒狒之邀,写一篇详细的关于注解的文章. 注解一般有如下几种作用 生成文档,这是大家最常见的也是Java最早提供的注解功能.比如看源码的时候方法注释上面的 @see @param @return 等等: 减少配置,可以进行运行时动态处理,得到注解信息,实现代替配置文件的功能:也可以通过插件进行编译时处理,以解决解析注解而导致的反射性能消耗: 减少重复工作,比如第三方框架ButterKnife等,通过注解@BindView减少对findViewById的调用: 限定作用域,例如在编译时进

java 注解Annotation

什么是注解? 注解,顾名思义,注解,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的. java注解又叫java标注,java提供了一套机制,使得我们可以对方法.类.参数.包.域以及变量等添加标准(即附上某些信息).且在以后某个时段通过反射将标注的信息提取出来以供使用. 通过使用Annotation,程序开发人员可以在不改变的原有逻辑的情况下,在源文件嵌入一些补充的信息. Annotation可以用来修饰类.属性.方法,而且Annotation不影响程序

Java注解机制

Java中的注解机制 注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据). 注解的语法比较简单,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种 注解,定义在java.lang包中. @Override 表示当前方法是覆盖父类的方法. @Deprecated 表示当前元素是不赞成使用的. @SuppressWarnings 表示关闭一些不当的编译器警告信息. 下面是一

java 注解——使用详解

在一些强大的第三方框架中我们常常可以见到注解的身影.xUtils.Retrofit等. 那么注解到底有什么魅力和好处让我们在设计种种框架的时候用到它呢? 对于注解的理解: (仅仅为个人理解) 1,我们通过注解给某个常量.方法或者类一个标记.那么这些常量就有了某种特征或者某种标记. 2,这些标记不参与我们的逻辑处理.这也是为什么它会写在方法或者类的外面的原因. 3,但是我们可以通过获取方法上的标记即注解来间接的影响程序的逻辑. 4,注解是被动的,它影响程序取决于程序员是否去使用它. 由此看来,注解

Java注解Annotation(一)

Java注解Annotation(一)--简介 这一章首先简单介绍一下注解,下一章会给出一个注解应用的DEMO. 1. 元注解 元注解的作用是负责注解其他的注解. JDK1.5中,定义了4个标准的meta-annotation元注解类型,他们被用来提供对其它annotation注解类型作说明. @Target @Retention @Documented @Inherited 这些类型和它们所支持的类在java.lang.annotation包中可以找到. @Target @Target说明了A

Java注解基础概念总结

注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Metadata很容易的就能够调用Annotations.注解与类.接口.枚举在同一个层次,并可以应用于包.类型.构造方法.方法.成员变量.参数.本地变量的声明中,用来对这些元素进行说明注释. 注解的语法与定义形式 (1)以@interface关键字定义 (2)注解包含成员,成员以无参数的方法的形式被声明.其方法名和返回值定义了该成员的名字和类型. (3)成员赋值是通过@Annotati