注解
从Java5开始,Java增加了对元数据 ( MetaData )的支持,也就是Annotation ( 注解 )
Annotation是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理
通过使用Annotation,程序开发人员可以在不修改原有逻辑的情况下,在源文件中嵌入一些补充的信息.代码分析工具,开发工具和部署工具可以通过这些补充信息进行验证和部署
Annotation提供了一种为程序元素设置元数据的方法,从某些方面看,Annotation就像修饰符一样,可用于修饰包,类,构造器,方法,成员变量,参数,局部变量的声明,这些信息被存储在Annotation的"name=value"对中
Annotation能被用来为程序元素 ( 类,方法,成员变量等 ) 设置元数据.值得指出的是,Annotation不影响程序代码的执行,无论增加,删除Annotation,代码始终如一地执行
如果希望让程序中的Annotation在运行时起一定的作用,只有通过某种配套的工具对Annotation中的信息进行访问和处理,访问和处理Annotation的工具统称APT ( Annotation Processing Tool )
Annotation必须使用工具来处理,工具负责提取Annotation里包含的元数据
使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用
e.g
@Override//声明一个注解,用于修饰程序元素
如果Annotation里只有一个value成员变量时,使用该Annotation时可以直接在Annotation后的括号里直接指定value成员变量的值,无须使用name=value的形式
通过Annotation,提供了元数据 ( MetaData ) 的支持,Annotation在程序中为一些特殊标记,用于修饰程序元素.
使用Annotation标记的程序元素,可以在源文件中嵌入一些补充信息,但不改变原有逻辑.要使Annotation在运行时返回作用,只有通过相应的工具对Annotation中的信息进行访问和处理,这些相应的工具统称为 APT ( Annotation Processing Tool )
通过使用Annotation,可以为程序提供一些元数据,这些元数据可以在编译,运行时被读取,从而提供更多额外的处理信息
不含成员变量的Annotation为标记Annotation,以自身存在与否提供信息,如存在,则进行一些操作
仅仅使用Annotation来标记程序元素对程序是不会有影响的,这也是Java注解的重要原则 ( 在不改变程序逻辑的情况下为程序元素嵌入额外的信息 )
为了让程序中的注解其作用,必须为注解提供一个注解处理工具
Annotation是对源代码增加的一些特殊标记,这些特殊标记可通过反射获取,当程序获取这些特殊标记后,程序可以做出相应的处理