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的功能,细节方面远不止如此,懒得打字了,到此为止 

Lucene5 学习笔记(1) —— Hello World

这是第1节的内容,让我们对 lucene 全文搜索引擎有一个大概的认识。 对应 孔浩老师 01_lucenc简介和创建索引初步 这1节视频的内容。全文搜索引擎存在的意义:根据索引来查找,提高效率。方...
  • lw_power
  • lw_power
  • 2015年03月01日 22:05
  • 1826

《Java JDK8学习笔记》读书笔记(4)

第4章 认识对象 学习目标  区分基本类型与对象类型  了解对象与引用的关系  从打包器认识对象  以对象观点看待数组  认识字符串的特性...
  • mouyong
  • mouyong
  • 2016年04月18日 20:10
  • 4393

《Java JDK8学习笔记》读书笔记(3)

第3章 基础语法,虽然很简单,但其中有些知识是平时没太留意到的,有些是JDK8加入的新特性,蛮有用的。已完成排版。...
  • mouyong
  • mouyong
  • 2016年02月25日 12:27
  • 2628

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

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

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

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

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

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

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

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

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

(学习笔记)第六章 非刚性人脸跟踪——annotation(标记) 2013年08月17日 ⁄ 综合 ⁄ 共 24921字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ...
  • lphbtm
  • lphbtm
  • 2016年02月02日 09:20
  • 1223

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

人脸识别
  • qqh19910525
  • qqh19910525
  • 2016年08月23日 08:53
  • 578

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

Annotation是Java的一种特殊的注释语法。 内置的三个Annotation: @Override、@Deprecated、@SuppressWarnings   @Override表示进行正...
  • SHU15121856
  • SHU15121856
  • 2017年03月31日 00:10
  • 666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java学习笔记5——Annotation
举报原因:
原因补充:

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