`
zhjb2000
  • 浏览: 58290 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Java注解的一些说明

阅读更多
  1. publicenumRetentionPolicy{
  2. /**
  3. *Annotationsaretobediscardedbythecompiler.
  4. */
  5. SOURCE,
  6. /**
  7. *Annotationsaretoberecordedintheclassfilebythecompiler
  8. *butneednotberetainedbytheVMatruntime.Thisisthedefault
  9. *behavior.
  10. */
  11. CLASS,
  12. /**
  13. *Annotationsaretoberecordedintheclassfilebythecompilerand
  14. *retainedbytheVMatruntime,sotheymaybereadreflectively.
  15. *
  16. *@seejava.lang.reflect.AnnotatedElement
  17. */
  18. RUNTIME
  19. }

这是一个enum类型,共有三个值,分别是SOURCE,CLASS 和 RUNTIME.
SOURCE代表的是这个Annotation类型的信息只会保留在程序源码里,源码如果经过了编译之后,Annotation的数据就会消失,并不会保留在编译好的.class文件里面。
ClASS的意思是这个Annotation类型的信息保留在程序源码里,同时也会保留在编译好的.class文件里面,在执行的时候,并不会把这一些信息加载到虚拟机(JVM)中去.注意一下,当你没有设定一个Annotation类型的Retention值时,系统默认值是CLASS.
第三个,是RUNTIME,表示在源码、编译好的.class文件中保留信息,在执行的时候会把这一些信息加载到JVM中去的.

  1. publicenumElementType{
  2. /**Class,interface(includingannotationtype),orenumdeclaration*/
  3. TYPE,
  4. /**Fielddeclaration(includesenumconstants)*/
  5. FIELD,
  6. /**Methoddeclaration*/
  7. METHOD,
  8. /**Parameterdeclaration*/
  9. PARAMETER,
  10. /**Constructordeclaration*/
  11. CONSTRUCTOR,
  12. /**Localvariabledeclaration*/
  13. LOCAL_VARIABLE,
  14. /**Annotationtypedeclaration*/
  15. ANNOTATION_TYPE,
  16. /**Packagedeclaration*/
  17. PACKAGE
  18. }
@Target里面的ElementType是用来指定Annotation类型可以用在哪一些元素上的.说明一下:TYPE(类型), FIELD(属性), METHOD(方法), PARAMETER(参数), CONSTRUCTOR(构造函数),LOCAL_VARIABLE(局部变量), ANNOTATION_TYPE,PACKAGE(包),其中的TYPE(类型)是指可以用在Class,Interface,Enum和Annotation类型上.
另外,从1的源代码可以看出,@Target自己也用了自己来声明自己,只能用在ANNOTATION_TYPE之上.
如果一个Annotation类型没有指明@Target使用在哪些元素上,那么它可以使用在任何元素之上,这里的元素指的是上面的八种类型.


分享到:
评论

相关推荐

    Java注解详细说明

    Java注解,也称为标注(Annotations),是Java编程语言中的一个重要特性,用于向编译器、JVM或者其他的工具提供元数据。它们为程序提供了一种安全的方式,以声明信息,比如验证约束、记录元数据或者自动生成代码。...

    Java注解介绍+代码实现

    注解概要介绍.doc文件 :简要介绍了Java注解 Java工程文件夹:里面有一个javaSe工程StudyAnnotation,此工程是自定义注解的完整代码 工程API文件夹:是StudyAnnotation工程的帮助文档,可以不用看

    java注解详解[文].pdf

    Java 注解详解 Java 注解(Annotation)是 JDK 5.0 及以后版本引入的一个特性。它是一个新的类型,与接口类似,位于同一个层次,称为 Java 的一个类型(TYPE)。注解可以声明在包、类、字段、方法、局部变量、方法...

    Java注解学习

    Java注解为代码提供了额外的维度,它们不仅是代码的补充说明,更是现代软件开发中不可或缺的一部分,用于自动化任务、增强框架功能和提高代码质量。理解和熟练运用注解是Java开发者的一项重要技能。

    吴天雄-Java注解及动态性详解.doc

    Java注解,也称为Annotation,是自JDK 5.0版本起引入的一种元数据机制,它为程序提供了额外的信息,这些信息可以在编译时或运行时被解析和使用。元数据是描述数据的数据,注解就是一种特殊的数据类型,可以用于修饰...

    java自定义注解实现由类自动生成表

    自定义注解使得代码更加可读,易于维护,并且可以自动化一些常规任务,例如生成数据库表。在本案例中,我们将探讨如何利用自定义注解实现在Java类定义后自动创建对应的数据库表,以适应SQL Server和Oracle这样的关系...

    02-Java注解面试题(2题)-新增.pdf

    "Java注解面试题详解" 在 Java 中,注解(Annotation)是一种提供元数据的途径,用于关联信息和元数据。Java 5.0 中定义了 4 种标准的元注解(meta-annotation),它们被用来提供对其他注解的说明。 1. @Target @...

    Java注解方式

    Java注解详解,思维导图模式说明Java注解的各种方式。

    java元注解的介绍说明

    Java元注解是Java语言中的一种高级特性,它们主要用于注解其他注解,为自定义注解添加附加信息,使得注解在不同的阶段能够得到适当的处理。这些元注解不仅帮助开发人员定制注解的行为,还对注解的可见性和处理方式...

    java-excel导入导出注解版内用教程说明

    Java中的Excel导入导出是开发过程中常见的需求,特别是在数据处理、...以上就是Java中使用Apache POI和注解进行Excel导入导出的基本教程。通过实践和扩展,你可以创建一个强大的Excel工具包,满足各种复杂的业务需求。

    java注解详解

    Java 注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。 一、元注解 元注解是指注解的注解。包括 @...

    Java注解与反射原理说明

    Java注解(Annotation)是Java语言提供的一种元数据机制,允许程序员在代码中嵌入信息,这些信息可以被编译器、JVM或其他工具在编译时或运行时读取和处理。注解的主要用途包括代码的自我描述、编译器检查、运行时的...

    java注解元数据

    定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK5.0及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素...

    java注解详解,十分有用。

    Java 注解详解 Java 注解(Annotation)是 JDK 5.0 及以后版本引入的一个特性,它是一个新的类型,与类、接口、枚举是在同一个层次。注解可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些...

    Java注解学习1-Java Annotation认知(包括框架图、详细介绍、示例说明)

    除了基本的元注解(如@Retention和@Target),还有一些预定义的注解,如`@Deprecated`用于标记已过时的API,`@Documented`指示应包含在Javadoc中,`@Inherited`使得子类继承父类的注解,`@Override`确保方法重写父类...

    EJB注解说明

    在EJB 3.0版本中,引入了注解(Annotation)来简化组件的配置,使得实体Bean(Entity Bean)成为纯粹的Plain Old Java Object(POJO),与Hibernate持久化实体对象的概念相融合。这意味着开发者可以不再依赖于复杂的...

    hibernate注解详解说明

    以下是一些常见的 Hibernate 注解: - `@Entity`: 用于声明一个 Java 类为 Hibernate 实体。每个实体应该有一个唯一的标识符(主键)。 - `@Table`: 指定实体对应的数据库表名。 - `@Id`: 标识实体的主键字段。 - `...

    Java注解基础

    以下是对Java注解基础知识的详细说明: 1. **注解定义** - 注解以`@`符号开头,后面跟着注解的名称。例如,`@Override`表示方法重写。 - 注解可以应用于类、接口、变量、方法以及构造函数等多个程序元素。 - ...

    java程序使用JPA注解详解.doc

    Java 程序使用 JPA 注解详解 Java 持久层 API(Java Persistence API)是一种 Java 应用程序接口,用于访问、管理和持久化数据之间的关系。JPA 使用注解来定义实体类与数据库表之间的映射关系,本文将详细介绍 JPA ...

    java 自定义注解的实例详解

    注解可以提供一些额外的信息,以便于开发者更好地理解和使用代码。Java 中提供了多种类型的注解,包括 @Override、@SuppressWarnings、@Deprecated 等。 二、自定义注解的创建 要创建自定义注解,需要使用 @...

Global site tag (gtag.js) - Google Analytics