仓酷云
标题:
发布一篇Java Annotation进门
[打印本页]
作者:
仓酷云
时间:
2015-1-18 11:10
标题:
发布一篇Java Annotation进门
C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊
择要:
本文针对java初学者大概annotation初度利用者周全地申明了annotation的使用办法、界说体例、分类。初学者能够经由过程以上的申明制造复杂的annotation程序,可是关于一些初级的annotation使用(比方利用自界说annotation天生javabean映照xml文件)还必要进一步的研讨和切磋。触及到深切annotation的内容,作者将在后文《JavaAnnotation初级使用》中谈到。
同时,annotation运转存在两种体例:运转时、编译时。上文中会商的都是在运转时的annotation使用,但在编译时的annotation使用还没有触及,
1、为何利用Annotation:
在JAVA使用中,我们常碰到一些必要利用模版代码。比方,为了编写一个JAX-RPCwebservice,我们必需供应一对接口和完成作为模版代码。假如利用annotation对远程会见的办法代码举行润色的话,这个模版就可以够利用工具主动天生。
另外,一些API必要利用与程序代码同时保护的从属文件。比方,JavaBeans必要一个BeanInfoClass与一个Bean同时利用/保护,而EJB则一样必要一个部署形貌符。此时在程序中利用annotation来保护这些从属文件的信息将非常便当而且削减了毛病。
2、Annotation事情体例:
在5.0版之前的Java平台已具有了一些adhocannotation机制。好比,使用transient润色符来标识一个成员变量在序列化子体系中应被疏忽。而@deprecated这个javadoctag也是一个adhocannotation用来讲明一个办法已过期。从Java5.0版公布以来,5.0平台供应了一个正式的annotation功效:同意开辟者界说、利用本人的annoatation范例。此功效由一个界说annotation范例的语法和一个形貌annotation声明的语法,读取annotaion的API,一个利用annotation润色的class文件,一个annotation处置工具(apt)构成。
annotation其实不间接影响代码语义,可是它可以事情的体例被看做相似程序的工具大概类库,它会反过去对正在运转的程序语义有所影响。annotation能够从源文件、class文件大概以在运转时反射的多种体例被读取。
固然annotation在某种水平上使javadoctag加倍完全。一样平常情形下,假如这个标志对java文档发生影响大概用于天生java文档的话,它应当作为一个javadoctag;不然将作为一个annotation。
3、Annotation利用办法:
1。范例声明体例:
一般,使用程序并非必需界说annotation范例,可是界说annotation范例并谴责事。Annotation范例声明于一样平常的接口声明极其相似,区分只在于它在interface关头字后面利用“@”标记。
annotation范例的每一个办法声明界说了一个annotation范例成员,但办法声明不用有参数大概非常声明;办法前往值的范例被限定在以下的局限:primitives、String、Class、enums、annotation和后面范例的数组;办法能够有默许值。
上面是一个复杂的annotation范例声明:
清单1:
/**
*DescribestheRequest-For-Enhancement(RFE)thatled
*tothepresenceoftheannotatedAPIelement.
*/
public@interfaceRequestForEnhancement{
int id();
Stringsynopsis();
Stringengineer()default"[unassigned]";
Stringdate(); default"[unimplemented]";
}
代码中只界说了一个annotation范例RequestForEnhancement。
<p>
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
作者:
若相依
时间:
2015-1-20 15:52
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者:
透明
时间:
2015-1-25 17:37
Java是一种计算机编程语言,拥有跨平台、面向对java
作者:
仓酷云
时间:
2015-2-1 16:58
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者:
飘飘悠悠
时间:
2015-2-7 09:58
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者:
老尸
时间:
2015-2-21 14:57
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
作者:
金色的骷髅
时间:
2015-3-6 20:20
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
作者:
愤怒的大鸟
时间:
2015-3-13 08:08
是一种使用者不需花费很多时间学习的语言
作者:
柔情似水
时间:
2015-3-20 16:57
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2