Java基础知识之注解Annotation
2014-07-20 12:16
337 查看
1 注解的概念
注解Annotation是JDK 5.0之后推出的一个新的特新,注解是Java的一个新特性,和类,接口,枚举在同一层次上。主要作用是文档编制,编译检查,代码分析。
元数据:Java的注解,数据的数据
2 JDK的基本注解
@SuppressWarnings:阻止编译器发出某些警告信息
deprecation:过时的类或者方法的警告
unchecked:执行了没检查的转换的警告
fallthrough,path,serial,finally,all
@deprecated:标记某个过时的类或者方法
@Override:重载
3 元注解
专门负责注解其他的注解
@Target:用来标明注解可以放在那些元素之前
ElementType.TYPE:注解只能被声明在一个接口,类前面
ElementType.FIELD:注解只能声明在一个字段前面
ElementType.METHOD:直接只能声明在一个方法前面
ElementType.PARAMETER:说明该注解只能被声明在一个方法参数前
ElementType.CONSTRUCTOR:说明该注解只能声明在一个类的构造方法前
ElementType.LOCAL_VARIABLE:说明该注解只能声明在一个局部变量前
ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前
ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前ElementType.PACKAGE:说明该注解只能声明在一个包名前ElementType.PACKAGE:说明该注解只能声明在一个包名前
ElementType.PACKAGE:说明该注解只能声明在一个包名前
@Retention:它是被定义在一个注解类的前面,用来说明该注解的生命周期
RetentionPolicy.SOURCE:指定注解只保留在一个源文件当中
RetentionPolicy.CLASS:指定注解只保留在一个 class 文件中
RetentionPolicy.RUNTIME:指定注解可以保留在程序运行时
@Documented:
目的就是让这一个 Annotation 类型的信息能够显示在 javaAPI 说明文档上;没有添加的话,使用 javadoc 生成 API 文档的时候就会找不到这一个类型生成的信息
@Inheried:允许子类继承父类中的注解
注解的成员:注解和接口相似,只能定义final静态属性没和公共抽象方法
注解的方法:
方法前默认会加上 public abstract
在声明方法时可以定义方法的默认返回值,如:
String color() default “blue”;
String color() default {“blue”, “red”, ……}
方法的返回值的类型:可以有8种基本类型(byte, short, int, long, float, double, boolean, char,)、String、Class、枚举、注解及这些类型的数组
注解的使用分为三个过程:定义注解-->声明注解-->得到注解
定义注解:
声明注解
在哪些元素上声明注解:
对注解的方法的返回值进行赋值:对于注解中定义的每一个没有默认返回值的方法,在声明注解时必须对它的每一个方法返回值进行赋值。
一般形式:@注解名(方法名=方法返回值, ……)
如果方法返回的是一个数组时,那么将方法返回值写在{}符号里
@注解名(方法名={返回值1, 返回值2, ……}, ……)
得到注解:对于生命周期为运行期间的注解,都可以通过反射获得该元素上的注解实例
1、声明在一个类中的注解:可以通过该类 Class 对象的 getAnnotation 或 getAnnotations 方法获得
2、声明在一个字段中的注解:通过 Field 对象的 getAnnotation 或 getAnnotations 方法获得
3、声明在一个方法中的注解: 通过 Method 对象的 getAnnotation 或 getAnnotations 方法获得
注解可以看成是一个接口,注解实例就是一个实现该接口的动态代理类。
注解大多是用做对某个类、方法、字段进行说明,标识的。以便在程序运行期间我们通过反射获得该字段或方法的注解的实例,来决定该做些什么处理或不该进行什么处理
注解可以看成是一个接口,注解实例就是一个实现该接口的动态代理类。String color() default {“blue”, “red”, ……}
String color() default {“blue”, “red”, ……}
注解Annotation是JDK 5.0之后推出的一个新的特新,注解是Java的一个新特性,和类,接口,枚举在同一层次上。主要作用是文档编制,编译检查,代码分析。
元数据:Java的注解,数据的数据
2 JDK的基本注解
@SuppressWarnings:阻止编译器发出某些警告信息
deprecation:过时的类或者方法的警告
unchecked:执行了没检查的转换的警告
fallthrough,path,serial,finally,all
@deprecated:标记某个过时的类或者方法
@Override:重载
3 元注解
专门负责注解其他的注解
@Target:用来标明注解可以放在那些元素之前
ElementType.TYPE:注解只能被声明在一个接口,类前面
ElementType.FIELD:注解只能声明在一个字段前面
ElementType.METHOD:直接只能声明在一个方法前面
ElementType.PARAMETER:说明该注解只能被声明在一个方法参数前
ElementType.CONSTRUCTOR:说明该注解只能声明在一个类的构造方法前
ElementType.LOCAL_VARIABLE:说明该注解只能声明在一个局部变量前
ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前
ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前ElementType.PACKAGE:说明该注解只能声明在一个包名前ElementType.PACKAGE:说明该注解只能声明在一个包名前
ElementType.PACKAGE:说明该注解只能声明在一个包名前
@Retention:它是被定义在一个注解类的前面,用来说明该注解的生命周期
RetentionPolicy.SOURCE:指定注解只保留在一个源文件当中
RetentionPolicy.CLASS:指定注解只保留在一个 class 文件中
RetentionPolicy.RUNTIME:指定注解可以保留在程序运行时
@Documented:
目的就是让这一个 Annotation 类型的信息能够显示在 javaAPI 说明文档上;没有添加的话,使用 javadoc 生成 API 文档的时候就会找不到这一个类型生成的信息
@Inheried:允许子类继承父类中的注解
public @interface Annotation01 { //定义公共的 final 静态属性 …… //定义公共的抽象方法 …… }
注解的成员:注解和接口相似,只能定义final静态属性没和公共抽象方法
注解的方法:
方法前默认会加上 public abstract
在声明方法时可以定义方法的默认返回值,如:
String color() default “blue”;
String color() default {“blue”, “red”, ……}
方法的返回值的类型:可以有8种基本类型(byte, short, int, long, float, double, boolean, char,)、String、Class、枚举、注解及这些类型的数组
注解的使用分为三个过程:定义注解-->声明注解-->得到注解
定义注解:
声明注解
在哪些元素上声明注解:
对注解的方法的返回值进行赋值:对于注解中定义的每一个没有默认返回值的方法,在声明注解时必须对它的每一个方法返回值进行赋值。
一般形式:@注解名(方法名=方法返回值, ……)
如果方法返回的是一个数组时,那么将方法返回值写在{}符号里
@注解名(方法名={返回值1, 返回值2, ……}, ……)
得到注解:对于生命周期为运行期间的注解,都可以通过反射获得该元素上的注解实例
1、声明在一个类中的注解:可以通过该类 Class 对象的 getAnnotation 或 getAnnotations 方法获得
2、声明在一个字段中的注解:通过 Field 对象的 getAnnotation 或 getAnnotations 方法获得
3、声明在一个方法中的注解: 通过 Method 对象的 getAnnotation 或 getAnnotations 方法获得
注解可以看成是一个接口,注解实例就是一个实现该接口的动态代理类。
注解大多是用做对某个类、方法、字段进行说明,标识的。以便在程序运行期间我们通过反射获得该字段或方法的注解的实例,来决定该做些什么处理或不该进行什么处理
注解可以看成是一个接口,注解实例就是一个实现该接口的动态代理类。String color() default {“blue”, “red”, ……}
String color() default {“blue”, “red”, ……}
相关文章推荐
- 【Java基础知识】Annotation01_注解(Annotation)基本概念
- 【Java基础知识】 Annotation03_注解(Annotation)--注解处理器
- 【Java基础知识】Annotation02_注解(Annotation)自定义注解入门
- 理解Java基础之注解Annotation
- java基础知识:自定义注解
- java基础---注解(Annotation)
- Java基础知识系列之注解
- Java基础知识系列之注解基本概念
- Java基础复习笔记12Java自定义注解Annotation的使用
- Java Annotation 注解基础原理简析
- Java基础知识系列之注解解析器
- Android框架常用java基础知识:反射,注解,动态代理
- Java基础-学习使用Annotation注解对象
- Java自定义注解基础知识
- java 框架基础知识(5)----注解-->Spring配置
- 学习Spring必学的Java基础知识(5)----注解
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
- android反射组件 (一)java 自定义annotation基础知识
- Java基础:注解Annotation
- Java注解Annotation基础