直接代码说话,说明信息详见注释。。
首先是自定义的使用@Retention标注的注解----MyAnnotation.java
- package com.jadyer.annotation.retention;
-
- import java.lang.annotation.Retention;
- import java.lang.annotation.RetentionPolicy;
-
- @Retention(RetentionPolicy.RUNTIME)
- public @interface MyAnnotation {
- String hello() default "haerbin";
- String world();
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
然后是自定义的@MyAnnotation注解的测试类----MyTest.java
- package com.jadyer.annotation.retention;
-
- public class MyTest {
- @Deprecated
- @SuppressWarnings("unchecked")
- @MyAnnotation(hello = "beijing", world = "chongqing")
- public void output() {
- System.out.println("output something");
- }
- }
最后利用反射机制读取MyTest.java中的Annotation信息的类----MyReflection.java
- package com.jadyer.annotation.retention;
-
- import java.lang.annotation.Annotation;
- import java.lang.reflect.Method;
-
-
-
-
-
-
-
-
-
-
- public class MyReflection {
- public static void main(String[] args) throws Exception {
- MyTest myTest = new MyTest();
- Class<MyTest> c = MyTest.class;
- Method method = c.getMethod("output", new Class[]{});
-
-
- if (method.isAnnotationPresent(MyAnnotation.class)) {
-
- method.invoke(myTest, new Object[]{});
-
-
- MyAnnotation myAnnotation = method.getAnnotation(MyAnnotation.class);
-
-
- String hello = myAnnotation.hello();
- String world = myAnnotation.world();
-
- System.out.println(hello);
- System.out.println(world);
- }
-
- Annotation[] annotations = method.getAnnotations();
- for (Annotation annotation : annotations) {
-
- System.out.println(annotation.annotationType().getName());
- }
- }
- }
分享到:
相关推荐
Java Annotation 是 JDK5.0 引入的一种元数据机制,它允许程序员在代码中嵌入额外的信息,这些信息可以被编译器、构建工具或运行时系统用来执行特定的任务。Annotation 提供了一种安全、灵活的方式来描述代码的属性...
Java Annotation(注解)是自JDK 5.0开始引入的一种元数据,它提供了一种安全、非侵入式的方式来向编译器、虚拟机或者其他的工具提供关于代码的信息。这种信息可以用来进行编译时检查、运行时处理、代码生成等。注解...
Annotation(注解)是Java编程语言的一个重要特性,自JDK 1.5引入以来,逐渐成为编写可维护和可扩展代码的关键工具。注解提供了一种方式,使得程序员可以在代码中添加元数据(metadata),这些数据不直接影响代码...
@Retention注解则用于指定注解的存储策略,共有三个策略:SOURCE、CLASS、RUNTIME,其中SOURCE级别注解仅保留在源码中,CLASS级别注解在编译时被编译器保留,而RUNTIME级别注解则被JVM保留,能够在运行时被反射机制...
Java注解(Annotation)自JDK 5.0引入以来,已经成为Java语言的重要特性之一,它为代码元数据提供了一种标准化的方式,使得编译器、工具和其他框架能够理解和处理这些元数据。在Java中,注解是一种元数据,可以被...
Java Annotation,也称为注解,是Java编程语言中的一种元数据机制,自JDK 5.0开始引入。注解提供了在源代码中嵌入元数据的能力,这些元数据可以被编译器、构建工具或者运行时环境用来处理代码。它们在代码中看起来...
Java 注解(Annotation)是自 JDK 5.0 版本引入的一种元数据机制,用于向编译器、开发工具和运行时系统提供有关代码的附加信息。它们并不直接影响程序的执行,但可以用于代码分析、编译时验证或者运行时处理。本文将...
Java 注解(Annotation)是 JDK 5.0 及以后版本引入的一个特性,它是一个新的类型,与类、接口、枚举是在同一个层次。注解可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明、注释...
元注解是自Java 5版本引入的新特性,主要用于增强代码的元数据信息,帮助工具和运行时环境更好地理解和处理注解。 1. **什么是注解?** 注解是Java编程语言中的一个关键特性,它允许程序员在源代码中添加额外的...
通过使用@Retention注解,开发者可以指定注解保留到源代码级别(RetentionPolicy.SOURCE)、类文件级别(RetentionPolicy.CLASS)或运行时级别(RetentionPolicy.RUNTIME)。这三种策略中,RUNTIME级别允许注解在...
Java注解(Annotation)是自JDK 5.0版本起引入的一种元数据,它为程序提供了附加信息,但并不直接影响程序的运行。注解的主要目的是为了帮助编译器、构建工具、IDE或其他软件工具更好地理解和处理代码。注解与普通的...
Java 注解(Annotation)是 JDK 5.0 及以后版本引入的一个特性。它是一个新的类型,与接口类似,位于同一个层次,称为 Java 的一个类型(TYPE)。注解可以声明在包、类、字段、方法、局部变量、方法参数等的前面,...
注解是Java语言自JDK 5.0版本引入的一种新特性,用于在代码中添加元数据(即关于数据的数据)。它允许开发人员向Java编译器、工具和其他框架提供额外的信息,而不改变程序的逻辑。 **注解特点**: - 注解是一种新的...
Java注解,也称为Annotation,是自JDK 5.0版本起引入的一种元数据机制,它为程序提供了额外的信息,这些信息可以在编译时或运行时被解析和使用。元数据是描述数据的数据,注解就是一种特殊的数据类型,可以用于修饰...
Java注解(Annotation)是Java语言的一个重要特性,自JDK 5.0引入以来,它已经成为编写可维护和可扩展代码的关键工具。注解是一种形式化的元数据,提供了将信息附加到源代码的能力,这些信息可以被编译器、IDE、构建...
**注解(Annotation)** 是 Java 语言在 JDK 5.0 及之后版本引入的一种元数据机制,它为程序中的各种元素(如类、方法、变量等)提供了一种灵活的方式来附加额外的信息。注解本质上是一种特殊的接口,其主要用途包括...
JDK5.0 引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被标注。 内置的注解 作用在代码的注解是 @Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,...
Java枚举类是Java语言中一个非常重要的特性,它用于创建固定的、有限数量的类实例。枚举类在很多场景下被用作定义一组相关的常量,提供了比使用静态final变量更安全、更灵活的方式。 一、枚举类的理解: 1. 枚举类...