定义
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
作用
- 格式检查:告诉编译器信息,比如被@Override标记的方法如果不是父类的某个方法,IDE会报错;
- 减少配置:运行时动态处理,得到注解信息,实现代替配置文件的功能;
- 减少重复工作:比如ButterKnife,通过注解@BindView减少对findViewById的调用
分类
- 系统注解
1.@Override:用于修饰此方法覆盖了父类的方法;
2.@Deprecated:用于修饰已经过时的方法;
3.@SuppressWarnnings:用于通知java编译器禁止特定的编译警告; - 元注解
1.源码注解 只在源码中存在,编译成.class文件就不存在了.
2.编译时注解 在源码和.class文件中都存在
3.运行时注解 在运行阶段还起作用 - 自定义注解
元注解
元注解的作用就是负责注解其他注解。
1.@Target
2.@Retention
3.@Documented
4.@Inherited
自定义注解
格式
public @interface 注解名 {}
支持数据类型:
1.所有基本数据类型
2.String
3.Class
4.enum
5.Annotation
6.以上所有类型的数组