注解
1、 注解 Annotation
jdk1.5引入的
作用:
不是程序本身,可以对程序做出解释。
可以被其他程序读取。(注解信息处理流程,是注解和注释的最大区别)。
生成文档
格式:@注解名 //@Override 重写父类方法
使用地方:package、class、method、field 都可以使用
1.1 内置注解:
@Override 重写父类方法
@Deprecated 调用不建议使用的类、方法、属性时进行警告(加中划线)
@SuppressWarnings 用来抑制编译时的警告信息
需要添加参数才能使用
|
参数 |
说明 |
|
deprecation |
使用了过时的类或方法的警告 |
|
unchecked |
执行了未检查的转换时的警告,如使用集合未指定泛型 |
|
fallthrough |
当在switch语句使用时发生case穿透 |
|
path |
在类路径、源文件路径等中有不存在路径的警告 |
|
serial |
当在可序列化的类上缺少serialVersionUID定义时的警告 |
|
finally |
任何finally子句不能完成时的警告 |
|
all |
关于以上所有情况的警告 |
@SuppressWarnings(“unchecked”)
@SuppressWarnings(“unchecked”,”deprecation”)
1.2 自定义注解:
使用@interface自定义注解,自动继承了java.lang.annotation.Annotation接口
要点:
a、@interface用来声明一个注解
格式:public @interface 注解名
b、其中每一个方法实际上是声明了一个配置参数
方法的名称就是参数的名称
返回值类型就是参数的类型(返回值类型只能是基本类型、class、String、enum)
可以通过default来声明参数的默认值
如果只有一个参数成员,一般参数名为value
(注解元素必须要有值。默认值可以为空或0,为-1则表示不存在)
元注解:负责注解其他注解,java中定义了4个常用元注解
-@Target 描述注解的使用范围
-@Retention 表示在什么级别保存该注解信息,用于描述注解的生命周期
RetentionPolicy.SOURCE 在源文件中有效
CLASS 在class文件中有效
RUNTIME 在运行时有效(可以被反射机制读取)
-@Documented 说明该注解将被包含在javadoc中
-@Inherited 说明子类可以继承父类中的该注解

浙公网安备 33010602011771号