http://www.javachen.com/2010/01/java5-annotation/
http://www.blogjava.net/ericwang/archive/2005/12/13/23743.html
3 Built-in annotation:
- Override
- Deprecated
- SuppressWarnings - @SuppressWarnings(value={"unchecked"})
Java中还提供了四种 meta-annotations,专门负责释其他的注释
@Target 表示该注释可以用于什么地方。可用的ElementType参数包括:
CONSTRUCTOR : 构造器的声明
FIELD : 域声明(包括enum实例)
LOCAL_VARIABLE : 局部变量声明
METHOD : 方法声明
PACKAGE : 包声明
PARAMETER : 参数声明
TYPE : 类、接口 (包括注解类型) 或enum声明
@Retention 表示需要在什么级别保存该注释信息。可选的RetentionPoicy参数包括:
SOURCE : 注释将被编译器丢掉
CLASS : 注释在class文件中可用,但会被VM丢弃
RUNTIME : VM将在运行时也保留注释,因此可以通过反射机制读取注释的信息。要想使用反射得到注释信息,这个注释必须使用
@Documented 将注释包含在JavaDoc中
@Inheried 允许子类继承父类中的注释。
自定义Annotation
Customized Annotation
Simple Annotation
如果在annotations中只有唯一一个成员,则该成员应命名为value