1、Annotation
注解是那些插入到源代码中使用其他工具可以对其进行处理的标签。
java注解又称java标注,是在JDK5.0引入一种注释机制。
注解不会改变程序编译方式。Java编译器对于包含注解和不包含注解的代码生成相同的JVM指令。
Annotation的作用:
- 对程序作出解释
- 可以被其他程序读取
Annotation格式:
在java中,使用注解时使用“@注释名”格式。注解也有自己参数值
1 |
注解的一些用法:
- 附属文件的自动生成。
- 测试、日志、事务语义等代码的自动生成。
2、内置Annotation
内置Annotation由三种标准注解和四种元注解组成。
2.1、标准注解
- @Override:表示当前方法重写了父类方法。
- @Deprecated:不推荐使用的,未来将被废弃,或由更好的方法。
- @SuppressWarnings:关闭不当的编译器警告信息。
2.2、元注解
- Target:表示该注解可以用于什么地方。
- Retention:表示需要在什么级别保存该注解信息。
- (SOURCE<CLASS<RUNTIME)
- Documented:将该注解包含在javadoc文档中。
- Inherited:允许子类继承父类中的注解。
元注解:即注解的注解。
“注解不支持继承”。
3、自定义Annotation
3.1、Annotation接口
注解都隐式的扩展自java.lang.annotation.Annotation接口:
1 | public interface Annotation { |
annotationType():返回Class对象,用于描绘该注解对象的注解接口。
3.2、自定义
注解的元素可用类型:
- 所有基本类型
- String
- Class
- enum
- Annotation
- 以上类型的数组
@ActionListener:
1 |
|
注解中没有任何元素或所有元素均使用默认值,即没有指定元素,注释后的“()”可省略。
默认值限制:元素不能有不确定的值。也就是,元素必须要么有默认值,要么在使用注解时提供了值。
若一个元素具有特殊名称”value”,并且没有指定的其他元素,那么可以忽略这个元素名以及等号。
1 |
|
- 一个项可以有多个注解。
1 |
|
空值设定:””或Void.class
数组的赋值:
1 | /*数组使用{}来包裹*/ |
4、使用Annotation
Annotation使用位置由ElementType确定:
1 | public enum ElementType { |
1 | //类 |