注解为我们在代码中添加信息提供了一种形式化的方法。
图1上面就是一个简单的自定义注解,跟定义一个接口很类似,定义注解时会需要一些元注解,最常用的有@Target,@Retention,@Target表示该注解可以用于什么地方。比较常用的ElementType参数包括:
TYPE:类,接口
FIELD:成员变量
METHOD:方法
PARAMETER:参数
CONSTRUCTOR:构造方法
@Retention表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括:
SOURCE:注解将被编译器丢弃
CLASS:注解在class文件中可用,但会被VM丢弃
RUNTIME:VM将在运行期也保留注解,因此可以通过反射机制读取注解信息。
注解的使用,可以通过反射获取Annotation,然后获取注解的值。getContent()方法返回的值为"hello world".
网友评论