转:
小伙伴们,我开了一家海淘护肤品淘宝店,搜索店铺“禾子蝶的海淘铺”,欢迎进店选购哦。谢谢!
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();
}
@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);
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 元注解包括四大类:@Retention、@Target、@Documented、@Inherited 等。 1.@Retention @Retention 用于指定注解的保留期限,可以设置为 SOURCE、CLASS 或 RUNTIME。 * RetentionPolicy.SOURCE:注解只保留在...
Java 5引入了四个基本的元注解:@Documented、@Target、@Retention和@Inherited,而Java 8又添加了@Repeatable和@Native。 1. **@Documented**: @Documented注解是一个标记注解,不包含任何成员变量。当一个...
@Retention 注解是 Java 中的一种元注解,用于指定注解的保留级别。RetentionPolicy 是一个枚举类型,它定义了被 @Retention 修饰的注解所支持的保留级别。RetentionPolicy 中有三个值:SOURCE、CLASS 和 RUNTIME。...
3. **元注解**: 元注解是用于注解其他注解的注解,如`@Retention`、`@Target`、`@Documented`和`@Inherited`。它们控制注解的生命周期和使用范围。 ### 二、自定义注解 1. **创建**: 自定义注解通过定义一个接口...
4. **元注解**:元注解是用于注解其他注解的注解,如`@Retention`、`@Target`、`@Documented`和`@Inherited`: - `@Retention`:指定注解的生命周期,可以是`SOURCE`(源码级)、`CLASS`(类文件级)或`RUNTIME`...
Java预定义了四个元注解:@Retention、@Target、@Documented和@Inherited。 - @Retention:定义注解的生命周期,有SOURCE、CLASS和RUNTIME三个策略。SOURCE表示注解只在源代码中存在,编译后会被丢弃;CLASS表示...
- **元注解**:用于定义注解的注解,如`@Retention`、`@Target`、`@Documented`、`@Inherited`。 2. **注解的保留策略** - `@Retention(RetentionPolicy.SOURCE)`:注解只存在于源码阶段,编译后不保留。 - `@...
Java注解(Annotation)是一种元数据,可以为程序代码添加额外的信息。注解本身并不改变程序的行为,但它可以通过工具或编译器被读取和处理,从而影响到程序的编译、运行等阶段。 #### 二、Spring中的Java注解 ...
在 Java 中,注解(Annotation)是一种提供元数据的途径,用于关联信息和元数据。Java 5.0 中定义了 4 种标准的元注解(meta-annotation),它们被用来提供对其他注解的说明。 1. @Target @Target meta-annotation...
Java中的注解(Annotation)是一种元数据,提供了一种形式化的方式来associate元数据与程序元素,使得程序元素可以携带更多的信息。在Java中,注解可以用来标记某个程序元素,例如类、方法、字段、构造器等,从而...
Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了强大的支持。元数据是一种描述数据的数据,它提供了一种安全的方式,使我们可以在不改变程序代码本身的情况下,向编译器或运行时环境提供额外的...
包括 @Retention、@Target、@Document、@Inherited 四种。 1.1、@Retention:定义注解的保留策略 @Retention(RetentionPolicy.SOURCE) // 注解仅存在于源码中,在 class 字节码文件中不包含 @Retention...
实际上,Java 注解是 Java 中一种特殊的元数据,提供了关于程序元素的信息。 注解概述 Java 注解的格式为 `public @interface 注解名称{ 属性列表;}`。分类大致分为三类:自定义注解、JDK 内置注解、还有第三方...
在Java中,有五种内置的元注解,它们分别是`@Target`、`@Retention`、`@Documented`、`@Inherited`以及`@Repeatable`。这里我们主要讨论前四种,因为`@Repeatable`是在Java 8中引入的,用于表示一个注解可以重复应用...
Java注解是元数据的一种形式,它允许程序员在源代码中插入一些附加信息,这些信息可以被编译器、IDE或运行时环境用来执行特定的动作。在Java中,注解有三种关键特性:Retention、Documented和Inherited,它们分别...
Java提供了三种标准注解和四种元注解,使得注解的使用更加灵活和具有针对性。 **三种标准注解** 1. **@Override** - 这个注解用于标记一个方法,表明这个方法是重写其父类中的方法。在编译时,如果被标记的方法...
在编程世界中,Java注解(Annotation)是一个强大的工具,它允许程序员在代码中嵌入元数据,这些元数据不直接影响程序的运行,但可以被编译器或运行时环境用来进行各种处理。Android开发中,注解同样扮演着重要角色...
Java注解,也被称为元数据,是Java编程语言中的一个重要特性,它允许程序员在源代码中插入一些附加信息。这些信息可以被编译器或运行时环境用来验证代码、优化性能,或者提供自定义处理。Java注解在现代Java开发中...
3. **元注解**:元注解是用于注解其他注解的注解,如`@Retention`、`@Target`、`@Documented`和`@Inherited`都是元注解。 四、实战应用 1. **代码示例**:提供源代码,演示如何在Java和SSH框架中使用注解,包括...
Java注解是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中插入额外的信息,这些信息可以被编译器或者运行时环境用来执行特定的任务。注解在现代Java开发中扮演了不可或缺的角色,尤其...