码迷,mamicode.com
首页 > 编程语言 > 详细

java 注解@Retention @interface 元数据

时间:2015-05-08 14:34:08      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

原文  http://www.cnblogs.com/coolgun/p/3802535.html

 

java注解

 

即是注释了,百度解释:也叫元数据。一种代码级别的说明。 个人理解:就是内容可以被代码理解的注释,一般是一个类。

 

元数据

 

也叫元注解,是放在被定义的一个注解类的前面 ,是对注解一种限制。只有两个: @Retention 和 @Target  (我只查到这两个).

 

@Retention :用来说明该注解类的生命周期。它有以下三个参数:

 

RetentionPolicy.SOURCE  : 注解只保留在源文件中

 

RetentionPolicy.CLASS  : 注解保留在class文件中,在加载到JVM虚拟机时丢弃

 

RetentionPolicy.RUNTIME  : 注解保留在程序运行期间,此时可以通过反射获得定义在某个类上的所有注解。

 

@Target :  用来说明该注解可以被声明在那些元素之前。

 

ElementType.TYPE:说明该注解只能被声明在一个类前。

 

ElementType.FIELD:说明该注解只能被声明在一个类的字段前。

 

ElementType.METHOD:说明该注解只能被声明在一个类的方法前。

 

ElementType.PARAMETER:说明该注解只能被声明在一个方法参数前。

 

ElementType.CONSTRUCTOR:说明该注解只能声明在一个类的构造方法前。

 

ElementType.LOCAL_VARIABLE:说明该注解只能声明在一个局部变量前。

 

ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前。

 

ElementType.PACKAGE:说明该注解只能声明在一个包名前。

 

注解的定义:

 

注解的定义使用关键词 @interface ,并在上面一行注明@Rentention(arg) 或者@Target(args) , 样例如下:

 

@Rentention(RetentionPolicy.RUNTIME)

 

public @interface Annotation01 {

//定义公共的final静态属性

.....

//定以公共的抽象方法

......

}

 

常见基本内置注解

 

@Override  当我们想重写一个方法时,在方法上加@Override,当我们方法的名字出错时,编译器就会报错。 定义如下:

 

@Retention(RetentionPolicy.SOURCE )

 

public   @interface  Override

 

@Deprecated  用来表示某个类的属性或方法已经过时,不想别人再用时,在属性和方法上用@Deprecated修饰。 定义如下:

 

@Retention(RetentionPolicy.SOURCE )

 

public   @interface  Deprecated

 

@SuppressWarnings  用来压制程序中出来的警告。 定义如下:

 

@Retention(RetentionPolicy.SOURCE )

 

public   @interface  SuppressWarnings 

 

注解的使用

 

定义注解--》声明注解-->获得注解;

 

其中 获得注解 通过被修饰的对象的 getAnnotation 或 getAnnotations 方法获得。

 

java 注解@Retention @interface 元数据

标签:

原文地址:http://www.cnblogs.com/wangstar123/p/4487492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!