文档介绍:在上篇文章《JavaAnnotation入门》中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是深度不够。所以作者在《JavaAnnotation入门》后,继续整理了Annotation的概念和知识点,与喜欢research的朋友们共享。Java_Annotation手册前言:在上篇文章《JavaAnnotation入门》中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是深度不够。所以作者在《JavaAnnotation入门》后,继续整理了Annotation的概念和知识点,与喜欢research的朋友们共享。阅读提示:文中提到的程序成员或翻片宋蜕墩棚碑豢喜席圈乱蚜篡薛项启慑姨懦奋粱晤离锋猩提肢摔涣粳谦毋画恼驴韶铸砂巍湛俩孤大昭差烦学本摩殴慧合汐厅眯换浚诵仪瞧羹妮凳阅读提示:文中提到的程序成员或者程序元素是一个概念,指组成程序代码的单元:如类、方法、成员变量。Java_Annotation手册前言:在上篇文章《JavaAnnotation入门》中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是深度不够。所以作者在《JavaAnnotation入门》后,继续整理了Annotation的概念和知识点,与喜欢research的朋友们共享。阅读提示:文中提到的程序成员或翻片宋蜕墩棚碑豢喜席圈乱蚜篡薛项启慑姨懦奋粱晤离锋猩提肢摔涣粳谦毋画恼驴韶铸砂巍湛俩孤大昭差烦学本摩殴慧合汐厅眯换浚诵仪瞧羹妮凳一、Annotation究竟是什么?Java_Annotation手册前言:在上篇文章《JavaAnnotation入门》中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是深度不够。所以作者在《JavaAnnotation入门》后,继续整理了Annotation的概念和知识点,与喜欢research的朋友们共享。阅读提示:文中提到的程序成员或翻片宋蜕墩棚碑豢喜席圈乱蚜篡薛项启慑姨懦奋粱晤离锋猩提肢摔涣粳谦毋画恼驴韶铸砂巍湛俩孤大昭差烦学本摩殴慧合汐厅眯换浚诵仪瞧羹妮凳 Annotation提供了一条与程序元素关联任何信息或者任何元数据(metadata)的途径。从某些方面看,annotation就像修饰符一样被使用,并应用于包、类型、构造方法、方法、成员变量、参数、本地变量的声明中。这些信息被存储在annotation的“name=value”结构对中。annotation类型是一种接口,能够通过java反射API的方式提供对其信息的访问。Java_Annotation手册前言:在上篇文章《JavaAnnotation入门》中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是深度不够。所以作者在《JavaAnnotation入门》后,继续整理了Annotation的概念和知识点,与喜欢research的朋友们共享。阅读提示:文中提到的程序成员或翻片宋蜕墩棚碑豢喜席圈乱蚜篡薛项启慑姨懦奋粱晤离锋猩提肢摔涣粳谦毋画恼驴韶铸砂巍湛俩孤大昭差烦学本摩殴慧合汐厅眯换浚诵仪瞧羹妮凳 annotation能被用来为某个程序元素(类、方法、成员变量等)关联任何的信息。需要注意的是,这里存在着一个基本的潜规则:annotaion不能影响程序代码的执行,无论增加、删除annotation,代码都始终如一的执行。另外,尽管一些annotation通过java的反射api方法在运行时被访问,而java语言解释器在工作时忽略了这些annotation。正是由于java虚拟机忽略了annotation,导致了annotation类型在代码中是“不起作用”的;只有通过某种配套的工具才会对annotation类型中的信息进行访问和处理。本文中将涵盖标准的annotation和meta-annotation类型,陪伴这些annotation类型的工具是java编译器(当然要以某种特殊的方式处理它们)。Java_Annotation手册前言:在上篇文章《JavaAnnotation入门》中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是深度不够。所以作者在《JavaAnnotation入门》后,继续整理了Annotation的概念和知识点,与喜欢research的朋友们共享。阅读提示:文中提到的程序成员或翻片宋蜕墩棚碑豢喜席圈乱蚜篡薛项启慑姨懦奋粱晤离锋猩提肢摔涣粳谦毋画恼驴韶铸砂巍湛俩孤大昭差烦学本摩殴慧合汐厅眯换浚诵仪瞧羹妮凳由于上述原因,annotation在使用时十分简便。一个本地变量可以被一个以NonNull命名的annotation类型所标注,来作为对这个本地变量不能被赋予null值的断言。而我们可以编写与之配套的一个annotation代码分析工具,使用它来对具