Java学习笔记5——Annotation

原创 2007年09月21日 10:57:00
Java学习笔记——Annotation
 Annotation就是注释的意思,tiger用它来加强Java源文件本身的表达能力,在EJB3.0中作用非常大。
 Annotation有三类,一类是标准的Annotation,而且号称“即拆即用”(out of the box),也就是直接可以用,是包含在java.lang中的系统自带的。第二类是自己定义的annotation,第三类则是meta annotation(元注释)。使用annotation时,前面要加“@”
 (一)第一类annotation。有三个,分别是override,deprecated和SupressWarning。前两个功能和javadoc中是一样的,为了注明某个方法或者字段是否为重载的或者废弃的。而第三个则是用来控制编译选项的,叫做“抑制警告”,别看名字怪怪的,其实很简单,比如:
   @SupressWarning(value={"uncheck"})
 具体语法我不罗嗦,上面这行类似于在用javac编译时,加上了-uncheck选项,但是又不尽相同,因为这个注释只作用于他所注释的方法或者类,而不是javac那样对整个源文件起作用。所以说,SupressWarning是个缩小版。
 (二)自己定义annotation。annotation的定义采用interface的形式(隐含的表示annotation其实是一个特殊的接口)
   public @interface EXAMPLE{
    String value()
   }
  以接口的形式定义annotation的名字,以方法的形式定义annotation的member(member好像是类里面的公有字段,或者称为annotation的属性,属性可以是一个也可以多个),用的时候如下
   @EXAMPLE("happy time")
   public void testmethod(){}
  把happy time作为“value”这个member的值。
  还有比较复杂的用法,比如在EXAMPLE的里面加上Enum的声明,然后让你的member值只能是Enum中限定的值,等等。
 (三)meta annotation。元注释又叫“注释的注释”,顾名思义,是用来定义annotation的一组annotation,用在自定义annotation时。就像所谓的meta data(元信息),即“信息的信息”。元注释有四种,一是target,即这个注释可以被用在哪些地方。二是documented,即这个注释能否出现在生成的javadoc中。三是Retention,决定编译器和JVM如何处理这个注释。四是Inherited,即这个注释能否被继承下去,就是说,当被注释的类继承以后,他的子类还会不会有这个注释。
 写个例子:
   @Inherited
   @Documentd
   public @interface EXAMPLE{}
 这段代码的意思是:这个EXAMPLE注释要出现在生成的javadoc中,而且当EXAMPLE修饰一个类时,它的子类同样会得到EXAMPLE,也就是“继承”的意思了。
 只是很简单的说了一下Annotation的功能,细节方面远不止如此,懒得打字了,到此为止 

相关文章推荐

EJB3学习笔记——Java Annotation技术详解

摘要: 本 文针对java初学者或者annotation初次使用者全面地说明了annotation的使用方法、定义方式、分类。初学者可以通过以上的说明制作简 单的annotation程序,但是对于一...

《Java编程思想》学习笔记17——注解Annotation

注解Annotation又叫元数据,是JDK5中引入的一种以通用格式为程序提供配置信息的方式。使用注解Annotation可以使元数据写在程序源码中,使得代码看起来简洁,同时编译器也提供了对注解Ann...

(学习笔记)第六章 非刚性人脸跟踪——annotation(标记)

人脸识别

Java中Annotation(注释)系列学习笔记(1)

【转】Java中Annotation(注释)系列学习笔记(1)   关于Annotation注释,一年以前,阿堂简单学习了一下,没有在项目中去用它。。最近在学习国内的高级J2EE架构师黎...
  • myslife
  • myslife
  • 2014年01月22日 14:28
  • 369

java annotation 学习笔记

annotation的作用是不用多说的,大家有目共睹。name
  • whk010
  • whk010
  • 2014年06月10日 17:16
  • 336

Java中Annotation(注释)系列学习笔记(3)

三.JDK的元Annotation   JDK除了java.lang下提供了3个基本Annotation之外,还在java.lang.annotation包下提供了四个Meta Annotation...

Java Annotation学习笔记

作为一个早期短暂从事过C++开发工作的程序员,我个人认为Annotation可能是Java与C++语言较大的不同点之一,这也是一个前C++程序员由衷认为Java可能、或许、maybe要比C++更好用的...

【Java学习笔记】10:三种系统内建的Annotation

Annotation是Java的一种特殊的注释语法。 内置的三个Annotation: @Override、@Deprecated、@SuppressWarnings   @Override表示进行正...

java学习笔记(annotation 注解_1)

1. java se 5.0 引入annotation的概念 2. java 中常见的几个注解: 1) @Override 表示子类要重写父类的方法 2)@Deprecated 表示方法是不...

Java学习笔记(52)-----------Annotation(注释)第一篇

从JDK1.5开始,Java中增加了对元数据(MetaData)的支持,也就是Annotation(注释),这种Annotation与Java程序中的单行注释和文本注释是有一定区别,也有一定联系的。其...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java学习笔记5——Annotation
举报原因:
原因补充:

(最多只允许输入30个字)