`
wisfly
  • 浏览: 62986 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

java注解(四种元注解:@Retention @Target @Document @Inherited)

 
阅读更多

转:

小伙伴们,我开了一家海淘护肤品淘宝店,搜索店铺“禾子蝶的海淘铺”,欢迎进店选购哦。谢谢!

 

java中元注解有四个: @Retention @Target @Document @Inherited;

   @Retention:注解的保留位置         

      @Retention(RetentionPolicy.SOURCE)   //注解仅存在于源码中,在class字节码文件中不包含
      @Retention(RetentionPolicy.CLASS)     // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,
      @Retention(RetentionPolicy.RUNTIME)  // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
  
  @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) ///包   
 
     @Document:说明该注解将被包含在javadoc中
 
   @Inherited:说明子类可以继承父类中的该注解
 
举例:
        @Retention(RetentionPolicy.RUNTIME)
    @Target({ElementType.METHOD})
    public @interface AnnatDemo{
        public int value();
    }
以上代码定义了@AnnatDemo注解,作用目标是 用于对方法注解,并且保留在运行时的环境中,我们可以利用反射 获得一个方法上的注解  调用定义的方法,
 
比如@AnnatDemo 作用于以下方法:
public interface IClientProtocolEx extends IProtocol {
  int METHOD_START=0;
  @AnnatDemo(METHOD_START)
   public String say(String person);
}
 
那么可以利用以下代码进行反射:
        Class ipt=IClientProtocalEx.class;
   Method[] mts=ipt.getMethod();
         for(Method mt:mts)
   {
    AnnatDemo ad=mt.getAnnotation(AnnatDemo.class);//如果方法上  没有该注解  则返回null
           int value=ad.value();
       System.out.println("value:"+value);
   }
 
注解是用于建设基础jar包的一部分   项目都有自己的框架,若运用恰当,注解则为其中良好的一部分。
小伙伴们,我开了一家海淘护肤品淘宝店,搜索店铺“禾子蝶的海淘铺”,欢迎进店选购哦。谢谢!
分享到:
评论

相关推荐

    Java元注解是Java注解的重要特性,下面我就来详解常见的4大Java元注解

    Java 元注解包括四大类:@Retention、@Target、@Documented、@Inherited 等。 1.@Retention @Retention 用于指定注解的保留期限,可以设置为 SOURCE、CLASS 或 RUNTIME。 * RetentionPolicy.SOURCE:注解只保留在...

    Java元注解.docx

    Java 5引入了四个基本的元注解:@Documented、@Target、@Retention和@Inherited,而Java 8又添加了@Repeatable和@Native。 1. **@Documented**: @Documented注解是一个标记注解,不包含任何成员变量。当一个...

    java 元注解 用于定义其它的注解

    @Retention 注解是 Java 中的一种元注解,用于指定注解的保留级别。RetentionPolicy 是一个枚举类型,它定义了被 @Retention 修饰的注解所支持的保留级别。RetentionPolicy 中有三个值:SOURCE、CLASS 和 RUNTIME。...

    Java自定义注解实例

    3. **元注解**: 元注解是用于注解其他注解的注解,如`@Retention`、`@Target`、`@Documented`和`@Inherited`。它们控制注解的生命周期和使用范围。 ### 二、自定义注解 1. **创建**: 自定义注解通过定义一个接口...

    JAVA 注解示例 详解

    4. **元注解**:元注解是用于注解其他注解的注解,如`@Retention`、`@Target`、`@Documented`和`@Inherited`: - `@Retention`:指定注解的生命周期,可以是`SOURCE`(源码级)、`CLASS`(类文件级)或`RUNTIME`...

    java 注解annotation的使用以及反射如何获取注解

    Java预定义了四个元注解:@Retention、@Target、@Documented和@Inherited。 - @Retention:定义注解的生命周期,有SOURCE、CLASS和RUNTIME三个策略。SOURCE表示注解只在源代码中存在,编译后会被丢弃;CLASS表示...

    java 注解开发(包含详细注释,项目可以直接运行)

    - **元注解**:用于定义注解的注解,如`@Retention`、`@Target`、`@Documented`、`@Inherited`。 2. **注解的保留策略** - `@Retention(RetentionPolicy.SOURCE)`:注解只存在于源码阶段,编译后不保留。 - `@...

    Spring java注解,元注解和自定义注解

    Java注解(Annotation)是一种元数据,可以为程序代码添加额外的信息。注解本身并不改变程序的行为,但它可以通过工具或编译器被读取和处理,从而影响到程序的编译、运行等阶段。 #### 二、Spring中的Java注解 ...

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

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

    Java开发自定义注解详解.doc

    Java中的注解(Annotation)是一种元数据,提供了一种形式化的方式来associate元数据与程序元素,使得程序元素可以携带更多的信息。在Java中,注解可以用来标记某个程序元素,例如类、方法、字段、构造器等,从而...

    入门级java 注解学习示例代码

    Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了强大的支持。元数据是一种描述数据的数据,它提供了一种安全的方式,使我们可以在不改变程序代码本身的情况下,向编译器或运行时环境提供额外的...

    java注解详解

    包括 @Retention、@Target、@Document、@Inherited 四种。 1.1、@Retention:定义注解的保留策略 @Retention(RetentionPolicy.SOURCE) // 注解仅存在于源码中,在 class 字节码文件中不包含 @Retention...

    深入浅出Java注解(注解概述+注解的本质+反射注解信息+元注解+属性的数据类型及特别的属性:value和数组)

    实际上,Java 注解是 Java 中一种特殊的元数据,提供了关于程序元素的信息。 注解概述 Java 注解的格式为 `public @interface 注解名称{ 属性列表;}`。分类大致分为三类:自定义注解、JDK 内置注解、还有第三方...

    【java元注解】相关资源

    在Java中,有五种内置的元注解,它们分别是`@Target`、`@Retention`、`@Documented`、`@Inherited`以及`@Repeatable`。这里我们主要讨论前四种,因为`@Repeatable`是在Java 8中引入的,用于表示一个注解可以重复应用...

    Java注解之Retention、Documented、Inherited介绍

    Java注解是元数据的一种形式,它允许程序员在源代码中插入一些附加信息,这些信息可以被编译器、IDE或运行时环境用来执行特定的动作。在Java中,注解有三种关键特性:Retention、Documented和Inherited,它们分别...

    Java中三种标准注解和四种元注解.pdf

    Java提供了三种标准注解和四种元注解,使得注解的使用更加灵活和具有针对性。 **三种标准注解** 1. **@Override** - 这个注解用于标记一个方法,表明这个方法是重写其父类中的方法。在编译时,如果被标记的方法...

    android&java的注解详解demo

    在编程世界中,Java注解(Annotation)是一个强大的工具,它允许程序员在代码中嵌入元数据,这些元数据不直接影响程序的运行,但可以被编译器或运行时环境用来进行各种处理。Android开发中,注解同样扮演着重要角色...

    注解javademo演示

    Java注解,也被称为元数据,是Java编程语言中的一个重要特性,它允许程序员在源代码中插入一些附加信息。这些信息可以被编译器或运行时环境用来验证代码、优化性能,或者提供自定义处理。Java注解在现代Java开发中...

    java/ssh注解

    3. **元注解**:元注解是用于注解其他注解的注解,如`@Retention`、`@Target`、`@Documented`和`@Inherited`都是元注解。 四、实战应用 1. **代码示例**:提供源代码,演示如何在Java和SSH框架中使用注解,包括...

    java注解深入理解

    Java注解是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中插入额外的信息,这些信息可以被编译器或者运行时环境用来执行特定的任务。注解在现代Java开发中扮演了不可或缺的角色,尤其...

Global site tag (gtag.js) - Google Analytics