|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。
媒介:
在上篇文章《JavaAnnotation进门》中提要性的先容了Annotation的界说、利用,局限涵盖较广,可是深度不敷。以是作者在《JavaAnnotation进门》后,持续收拾了Annotation的观点和常识点,与喜好research的伴侣们共享。
浏览提醒:文中提到的程序成员大概程序元素是一个观点,指构成程序代码的单位:如类、办法、成员变量。
1、Annotation事实是甚么?
Annotation供应了一条与程序元素联系关系任何信息大概任何元数据(metadata)的路子。从某些方面看,annotation就像润色符一样被利用,并使用于包、范例、机关办法、办法、成员变量、参数、当地变量的声明中。这些信息被存储在annotation的“name=value”布局对中。annotation范例是一种接口,可以经由过程java反射API的体例供应对其信息的会见。
annotation能被用来为某个程序元素(类、办法、成员变量等)联系关系任何的信息。必要注重的是,这里存在着一个基础的潜划定规矩:annotaion不克不及影响程序代码的实行,不管增添、删除annotation,代码都持之以恒的实行。别的,只管一些annotation经由过程java的反射api办法在运转时被会见,而java言语注释器在事情时疏忽了这些annotation。恰是因为java假造机疏忽了annotation,招致了annotation范例在代码中是“不起感化”的;只要经由过程某种配套的工具才会对annotation范例中的信息举行会见和处置。本文中将涵盖尺度的annotation和meta-annotation范例,伴随这些annotation范例的工具是java编译器(固然要以某种特别的体例处置它们)。
因为上述缘故原由,annotation在利用时非常烦琐。一个当地变量能够被一个以NonNull定名的annotation范例所标注,来作为对这个当地变量不克不及被付与null值的断言。而我们能够编写与之配套的一个annotation代码剖析工具,利用它来对具有后面变量的代码举行剖析,而且实验考证这个断言。固然这些代码其实不必本人编写。在JDK安装后,在JDK/bin目次中能够找到名为“apt”的工具,它供应了处置annotation的框架:它启动后扫描源代码中的annotation,并挪用我们界说好的annotation处置器完成我们所要完成的事情(好比考证后面例子中的断言)。说到这里,annotation的壮大功效仿佛能够替换XDoclet这类的工具了,跟着我们的深切,人人会加倍深信这一点。
注:具体形貌请参看jsr250标准:
http://www.jcp.org/aboutJava/communityprocess/pfd/jsr250/
2、Annotation的界说:
这段笔墨入手下手先容annotation相干手艺。在此人人将看到java5.0的尺度annotation范例,这类尺度范例就是前文中所说的“内建”范例,它们能够间接被javac撑持。可喜的是,在java6.0beta版中的javac已到场了对自界说annotation的撑持。
1。Annotation的观点和语法:
起首,关头的观点是了解annotation是与一个程序元素相干联信息大概元数据的标注。它从不影响java程序的实行,可是对比方编译器告诫大概像文档天生器等帮助工具发生影响。
上面是经常使用的annotation列表,我们应当注重在annotation和annotation范例之间的分歧:
A.annotation:
annotation利用了在java5.0所带来的新语法,它的举动非常相似public、final如许的润色符。每一个annotation具有一个名字和成员个数>=0。每一个annotation的成员具有被称为name=value对的名字和值(就像javabean一样),name=value装载了annotation的信息。
B.annotation范例:
annotation范例界说了annotation的名字、范例、成员默许值。一个annotation范例能够说是一个特别的java接口,它的成员变量是受限定的,而声明annotation范例时必要利用新语法。当我们经由过程java反射api会见annotation时,前往值将是一个完成了该annotation范例接口的对象,经由过程会见这个对象我们能便利的会见到其annotation成员。前面的章节将提到在java5.0的java.lang包里包括的3个尺度annotation范例。
<p>
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的), |
|