Annotation是从JDK5.0开始引入的新技术
Annotation的作用:
不是程序本身,可以对程序做出解释(这一点和注释(comment)没什么区别)
可以被其他程序(比如编译器等)读取
Annotation的格式:
注解是以“@注解名”在代码中存在的,还可以添加一些参数值
Annotation在哪里使用:
可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息
我们可以通过反射机制编程实现对这些元数据的访问
内置注解:
- @Override 重写
- @Deprecated 不推荐程序员使用,但是可以使用,或者存在更好的方式
- @SupressWarning 镇压元注解
元注解:负责注解其他注解的注解
- @target 用于描述注解的使用范围
- @Retention 表示需要在什么级别保存该注释信息,用于描述注解的生命周期
- @Document 说明该注解将被包含在javadoc中
- @Inherited 说明子类可以继承父类中的该注解
自定义注解 :
格式:public @interface 注解名{定义内容}
- 其中的每一个方法实际上是声明了一个配置参数
- 方法的名称就是参数的名称
- 返回值类型就是参数的类型
- 可以通过default来声明参数的默认值
- 如果只有一个参数成员,一般参数名为value
- 注解参数必须要有值,我们定义注解元素是,经常使用空字符串,0作为默认值
可以通过反射机制来读取注解中的信息