Java中的Annotation解析之二
2008-01-05 20:27:11 来源:WEB开发网一、java 中的Annotation的定义
Java中的Annotation
Java定义了几个标准的meta-annotation,在新Package中java.lang.annotation 中包含了以下meta-annotation:
meta-annotation 说明
@Target 1. annotation的target是一个被标注的程序元素。target说明了annotation所修饰的对象范围:annotation可被用于packages、types(类、接口、枚举、annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在annotation类型的声明中使用了target可更加明晰其修饰的目标。
meta-annotation 说明 @Target 1. annotation的target是一个被标注的程序元素。target说明了annotation所修饰的对象范围:annotation可被用于packages、types(类、接口、枚举、annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在annotation类型的声明中使用了target可更加明晰其修饰的目标。2. ElementType的定义
TYPE// Class, interface, or enum (but not annotation)
FIELD// Field (including enumerated values)
METHOD// Method (does not include constrUCtors)
PARAMETER// Method parameter
CONSTRUCTOR// Constructor
LOCAL_VARIABLE// Local variable or catch clause
ANNOTATION_TYPE// Annotation Types (meta-annotations)
PACKAGE// Java package
2. CLASS//将注释保留在编译后的类文件中,但是在运行时忽略它
3. RUNTIME//将注释保留在编译后的类文件中,并在第一次加载类时读取它 @Documented Documented 表示注释应该出现在类的 Javadoc 中 @Inherited 一个Annotation将被继续
三个标准的Annotation 在java.lang包中:
@DePRecated 对不再使用的方法进行注释 @Override 指明注释的方法覆盖超类的方法 @SuppressWarnings 阻止编译器的警告,例:当类型不安全时下例来说明这三个标准的Annotation:
package sz.starbex.bill.annotation;import java.util.ArrayList;
import java.util.List;
public class SimpleOverrideAnnotation {
public static void main(String[] args) {
SimpleOverrideAnnotation test = new SimpleOverrideAnnotation();
System.out.println(test.toString());
}
@Override
public String toString() {
return "自己的类自己输出";
}
@Deprecated
public void doSomething() {
System.out.println("方法已过时" );
}
@SuppressWarnings(value={"unchecked"})
public void testSuppressWarnings(){
List testList=new ArrayList();
testList.add("KKKK");//没有使用范型,类型不安全
}
}
更多的请看:http://www.QQread.com/windows/2003/index.Html
一、Java 中的Annotation的定义
Java中的Annotation
Java定义了几个标准的meta-annotation,在新Package中java.lang.annotation 中包含了以下meta-annotation:
meta-annotation 说明
Tags:Java Annotation 解析
编辑录入:爽爽 [复制链接] [打 印]赞助商链接