`
TRAMP_ZZY
  • 浏览: 137890 次
社区版块
存档分类
最新评论

Java Annotation 说明

阅读更多
在Java 程序中,除了源程序之外,我们还会用到Javadoc 标签对类、方法或成员变量进行注释。JDK5.0 的注解可以看成是Javadoc 标签和Xdoclet 标签的延伸和发展。在JDK5.0 中我们可以自定义标签,并通过Java语言的反射机制获取类中标注的注解。
@Retention(RetentionPolicy.RUNTIME)	// 声明注解的保留期限
@Target(ElementType.METHOD)			// 可使用注解的目标类型
public @interface AnnoTest {		// 定义注解

	boolean value() default true;	// 声明注解成员
	
}

public class UseAnnotation {

	@AnnoTest(value = true)
	public void method1(String name) {
		System.out.println("method1 " + name);
	}
	
	@AnnoTest(value = false)
	public void method2(String name) {
		System.out.println("method2 " + name);
	}
}

public class AnnoClient {

	public static void main(String[] args) {
		
		Class<UseAnnotation> clazz = UseAnnotation.class;
		Method[] methods = clazz.getDeclaredMethods();
		
		for (Method method : methods) {
			AnnoTest at = method.getAnnotation(AnnoTest.class);
			if (at != null) {
				if (at.value()) {
					System.out.println(method.getName() + " need test.");
				} else {
					System.out.println(method.getName() + " do not need test.");
				}
			}
		}
	}

}


public enum RetentionPolicy {
    /**
     * Annotations are to be discarded by the compiler.
     */
    SOURCE,

    /**
     * Annotations are to be recorded in the class file by the compiler
     * but need not be retained by the VM at run time.  This is the default
     * behavior.
     */
    CLASS,

    /**
     * Annotations are to be recorded in the class file by the compiler and
     * retained by the VM at run time, so they may be read reflectively.
     *
     * @see java.lang.reflect.AnnotatedElement
     */
    RUNTIME
}

public enum ElementType {
    /** Class, interface (including annotation type), or enum declaration */
    TYPE,

    /** Field declaration (includes enum constants) */
    FIELD,

    /** Method declaration */
    METHOD,

    /** Parameter declaration */
    PARAMETER,

    /** Constructor declaration */
    CONSTRUCTOR,

    /** Local variable declaration */
    LOCAL_VARIABLE,

    /** Annotation type declaration */
    ANNOTATION_TYPE,

    /** Package declaration */
    PACKAGE
}
分享到:
评论

相关推荐

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

    Java 注解(Annotation)是自 JDK 5.0 版本引入的一种元数据机制,用于向编译器、开发工具和运行时系统提供有关代码的附加信息。它们并不直接影响程序的执行,但可以用于代码分析、编译时验证或者运行时处理。本文将...

    Annotation--学习:JDK内建Annotation

    在Java编程语言中,Annotation(注解)是一种元数据,它提供了在编译时和运行时为代码添加信息的方式。注解是自Java 5版本引入的特性,它增强了代码的可读性和可维护性,同时也简化了某些编程任务。在本篇中,我们将...

    jakarta.annotation-api-1.3.5-API文档-中文版.zip

    标签:annotation、api、jakarta、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    java8源码-Annotation_demo:Annotation_demo

    java8 源码 Java注解 简介 由于无论在Java后台或者Android开发中我们经常遇到注解这个...通过@Target进行添加到注解中,说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Ann

    java详细说明书的范式

    Java详细说明书的范式是编写高质量Java程序的重要指导原则,它涵盖了从代码规范、设计模式到项目管理等多个方面。在Java编程中,良好的文档是非常关键的,它有助于提高代码的可读性、可维护性和团队协作效率。以下是...

    java语言说明书

    10. **注解(Annotation)**:从Java 5开始,注解提供了一种元数据的形式,用于向编译器、JVM或其他工具提供信息,比如用于代码的自动生成、运行时验证等。 11. **模块系统**:Java 9引入了模块系统,帮助大型项目...

    javax.annotation-api-1.2-API文档-中文版.zip

    标签:annotation、javax、api、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    jakarta.annotation-api-1.3.5-API文档-中英对照版.zip

    标签:annotation、api、jakarta、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...

    javax.annotation-api-1.3.2-API文档-中文版.zip

    标签:annotation、javax、api、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    annotation httpClient(annotation类型应用程序设计举例)

    文档由五篇博客组成,说明了如何使用代理技术实现Annotation HttpClient通过,阅读这五篇博客,应该能够大致了解如何实现一个Annotation类型应用的框架。此外,配备了相应的Annotation HttpClient的源码,以供大家...

    geronimo-annotation_1.0_spec-1.1.1-API文档-中文版.zip

    标签:annotation_1、specs、apache、0_spec、geronimo、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...

    免费下载:自己整理的java学习资料

    javaAnnotation.doc java_xml_api.chm JAVA分页大全.txt JAVA设计模式.chm JAVA配置文件编写说明文档.pdf jboss.pdf log4j使用教程.txt struts_action.txt struts标签.chm swing02.doc Tomcat.chm webAndXml.pdf ...

    javax.annotation-api-1.3.2 jar包.rar

    `javax.annotation-api-1.3.2.jar` 包是Java标准版(Java SE)中的一个关键组件,它包含了用于开发和实现注解的API。这个API主要用于提供一些预定义的注解,这些注解可以增强代码的功能性和可维护性,同时减少对传统...

    mybatis-plus-annotation-3.2.0-API文档-中英对照版.zip

    标签:baomidou、mybatis、plus、annotation、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和...

    javax.annotation-api-1.2-API文档-中英对照版.zip

    标签:annotation、javax、api、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...

    Annotation使用手册

    虽然 Java 虚拟机在执行过程中会忽略这些 Annotation,但通过配套工具(如注解处理器)可以对 Annotation 信息进行访问和处理。 #### 二、Annotation 的定义与使用 ##### 2.1 Annotation 的概念和语法 - **...

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

    Java 5.0 中定义了 4 种标准的元注解(meta-annotation),它们被用来提供对其他注解的说明。 1. @Target @Target meta-annotation 用于说明 Annotation 所修饰的对象范围。它可以被用于 packages、types(类、...

    javax.annotation-api-1.3.2-API文档-中英对照版.zip

    赠送jar包:javax.annotation-api-1.3.2.jar; 赠送原API文档:javax.annotation-api-1.3.2-javadoc....人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    java_技术参考汇集_超值大礼包

    评论一下就可以拿回那一分了。 资源包括: 《JSF入门》简体中文版 struts标签(中文) Ant使用指南.pdf cvs.pdf eclipse插件开发.doc ...javaAnnotation.doc Hibernate_3.2.0_Reference_zh_CN.chm Tomcat.chm

    JAVA API 1.80 中文版

    9. **注解**:`java.lang.annotation`,提供了元数据功能,可以用来标记代码并提供编译时或运行时的信息,如`@Override`、`@Deprecated`等。 压缩包中的`JDK 1.8 API.CHM`文件是一个帮助文档,通常包含了Java API的...

Global site tag (gtag.js) - Google Analytics