来看Tiger中的正文,第2部分: 定制正文
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。本系列的第一篇文章先容了甚么是元数据,元数据的主要性,和怎样利用J2SE5.0(也叫做Tiger)的基础内置正文。假如习气了这些观点,您大概已在想,Java5供应的三种尺度正文也并非出格强健,能利用的只要Deprecated、SuppressWarnings和Override罢了。所幸的是,Tiger还同意界说本人的正文范例。在本文中,我将经由过程一些示例引诱您把握这个绝对复杂的历程。您还将懂得怎样对本人的正文举行注解,和如许做的一些优点。我要感激OReillyMedia,Inc.,他们十分大方地同意我在本文中利用我关于Tiger的书本的“正文”一章中的代码示例。
界说本人的正文范例
经由过程增加了一个小小的语法(Tiger增加了大批的语法布局),Java言语撑持一种新的范例——正文范例(annotationtype)。正文范例看起来很像一般的类,可是有一些独有的性子。最分明的一点是,能够在类中以标记(@)的情势正文其他Java代码。我将一步一步地先容这个历程。
@interface声明
界说新的正文范例与创立接口有良多相似的地方,只不外interface关头字之前要有一个@标记。清单1中给出的是一个最复杂的正文范例的示例:
清单1.十分复杂的正文范例
package com.oreilly.tiger.ch06;
/**
* Marker annotation to indicate that a method or class
* is still in progress.
*/
public @interface InProgress { }
清单1的寄义十分分明。假如编译这个正文范例,并确信其位于类路径中,那末您就能够在本人的源代码办法中利用它,以指出某个办法或类仍在处置中,如清单2所示:
清单2.利用定制的正文范例
@com.oreilly.tiger.ch06.InProgress
public void calculateInterest(float amount, float rate) {
// Need to finish this method later
}
清单1所示正文范例的利用办法和内置正文范例的利用办法完整不异,只不外要同时利用称号和地点的包来唆使定制正文。固然,一样平常的Java划定规矩仍旧合用,您能够导进该正文范例,间接利用@InProgress援用它。
增加成员
下面所示的基础用法还远远不敷强健。您必定还记得“第1部分”中已经提到的,正文范例能够有成员变量。这一点十分有效,特别是筹办将正文作为加倍庞大的元数据,而不单单将它作为原始文档利用的时分。代码剖析工具喜好加工大批的信息,定制正文能够供应这类信息。
正文范例中的数据成员被设置成利用无限的信息举行事情。界说数据成员后不必要分离界说会见和修正的办法。相反,只必要界说一个办法,以成员的称号定名它。数据范例应当是该办法前往值的范例。清单3是一个详细的示例,它廓清了一些对照含混的请求:
清单3.向正文范例增加成员
package com.oreilly.tiger.ch06;
/**
* Annotation type to indicate a task still needs to be
* completed.
*/
public @interface TODO {
String value();
}
<p>
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。 是一种为 Internet发展的计算机语言 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种使网页(Web Page)产生生动活泼画面的语言 是一种为 Internet发展的计算机语言 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
页:
[1]