Java中的Annotation解析之二(1)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

一、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

@Retention

1. SOURCE//按照规定使用注释,但是并不将它保留到编译后的类文件中

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 说明

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航