从
JDK 5.0
开始
, Java
增加了对元数据
(MetaData)
的支持
,
也就是
Annotation(
注解
)
Annotation
其实就是代码里的
特殊标记
,
这些标记可以在编译
,
类加
载
,
运行时被读取
,
并执行相应的处理。通过使用
Annotation,
程序员
可以在不改变原有逻辑的情况下
,
在源文件中嵌入一些补充
信息。代
码分析工具、开发工具和部署工具可以通过这些补充信息进行验证
或者进行部署。
Annotation
可以像修饰符一样被使用
,
可用于
修饰包
,
类
,
构造器
,
方
法
,
成员变量
,
参数
,
局部变量的声明
,
这些信息被保存在
Annotation
的
“name=value”
对中
示例一:生成文档相关的注解
@author
标明开发该类模块的作者,多个作者之间使用
,
分割
@version
标明该类模块的版本
@see
参考转向,也就是相关主题
@since
从哪个版本开始增加的
@param
对方法中某参数的说明,如果没有参数就不能写
@return
对方法返回值的说明,如果方法的返回值类型是
void
就不能写
@exception
对方法可能抛出的异常进行说明 ,如果方法没有用
throws
显式抛出的异常就不能写
其中
@param @return
和
@exception
这三个标记都是只用于方法的。
@param
的格式要求:
@param
形参名 形参类型 形参说明
@return
的格式要求:
@return
返回值类型 返回值说明
@exception
的格式要求:
@exception
异常类型 异常说明
@param
和
@exception
可以并列多个
示例二:在编译时进行格式检查
(JDK
内置的三个基本注解
)
@Override:
限定重写父类方法
,
该注解只能用于方法
@Deprecated:
用于表示所修饰的元素
(
类
,
方法等
)
已过时。通常是因为
所修饰的结构危险或存在更好的选择
@SuppressWarnings:
抑制编译器警告