|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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>
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 |
|