注解是java的一个新的类型(与接口相似),他与类、接口、枚举是在同一个层次,都成为java的一个类型,可以声明在包类、字段
、方法、局部变量、方法参数等前。作用,比如进行编译检查、生成说明文档、代码分析。
注解语法比较简单,除了@符号的使用之外,与java固有语法一致,内置3种注解
@Override 表示当前的方法定义将覆盖超类中的方法。
@Deprecated 使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SupperressWarning 关闭不当编译器警告信息。
常用的接口定义
1. 特别的接口
2.interface关键字前加@符号
3.注解和接口相似,他/她只能定义final静态属性和公共抽象方法
4.每个方法声明定义了标注的一个元素
5.方法声明不能包含有参数和throws子句
6.方法的返回类型只能是:基本类型String,Class,enum,Annotation,以及它们的数组。
7.方法可以定义缺醒值
定义格式:@注解名(方法名=方法返回值,、、、)
有三类注解: 注解的参数数量:
标记注解,没有元素的注解类型 public @interface Preliminary{} 标注类型后不加()
单值注解,只有一个元素的标注类型 元素名必须是value public@interface Copyright{String value();} 用法-可以忽略元素名和=号
常规注解 标注定义中包含多个元素
元注解:
元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:
1.@Target, Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类 型的声明中使用了target可更加明晰其修饰的目标。
2.@Retention, 表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效)
3.@Documented,讲此注解包含在javadoc中
4.@Inherited 允许子类继承父类中的注解
这些类型和它们所支持的类在java.lang.annotation包中可以找到。