来看使用导进改动java举动
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。Java已作废的一种特征是C的“前提编译”,它同意我们改动参数,取得分歧的举动,同时不改动其他任何代码。Java之以是丢弃了这一特征,多是因为该特征常常在C里用于办理跨平台成绩:代码的分歧部分依据详细的平台举行编译,不然不克不及在特定的平台上运转。因为Java的计划头脑是成为一种主动跨平台的言语,以是这类特征是没有需要的。
但是,前提编译另有另外一些十分有代价的用处。一种很罕见的用处就是调试代码。调试特征可在开辟过程当中利用,但在刊行的产物中却无此功效。AlenHolub(www.holub.com)提出了使用包(package)来仿照前提编译的观点。依据这一观点,它创立了C“判定机制”一个十分有效的Java版本。之以是叫作“判定机制”,是因为我们能够说“它应当为真”大概“它应当为假”。假如语句分歧意你的判定,就能够发明相干的情形。这类工具在调试过程当中是出格有效的。
可用上面这个类举行程序调试:
//:Assert.java
//Assertiontoolfordebugging
packagecom.bruceeckel.tools.debug;
publicclassAssert{
privatestaticvoidperr(Stringmsg){
System.err.println(msg);
}
publicfinalstaticvoidis_true(booleanexp){
if(!exp)perr("Assertionfailed");
}
publicfinalstaticvoidis_false(booleanexp){
if(exp)perr("Assertionfailed");
}
publicfinalstaticvoid
is_true(booleanexp,Stringmsg){
if(!exp)perr("Assertionfailed:"+msg);
}
publicfinalstaticvoid
is_false(booleanexp,Stringmsg){
if(exp)perr("Assertionfailed:"+msg);
}
}///:~这个类只是复杂地封装了布尔测试。假如失利,就显现出堕落动静。在第9章,人人还会进修一个更初级的毛病把持工具,名为“背例把持”。但在今朝这类情形下,perr()办法已能够很好地事情。
假如想利用这个类,可在本人的程序中到场上面这一行:
importcom.bruceeckel.tools.debug.*;
如欲扫除判定机制,以便本人能刊行终极的代码,我们创立了第二个Assert类,但倒是在一个分歧的包里:
//:Assert.java
//Turningofftheassertionoutput
//soyoucanshiptheprogram.
packagecom.bruceeckel.tools;
publicclassAssert{
publicfinalstaticvoidis_true(booleanexp){}
publicfinalstaticvoidis_false(booleanexp){}
publicfinalstaticvoid
is_true(booleanexp,Stringmsg){}
publicfinalstaticvoid
is_false(booleanexp,Stringmsg){}
}///:~如今,假设将前一个import语句酿成上面这个模样:
importcom.bruceeckel.tools.*;
程序便不再显现出断言。上面是个例子:
//:TestAssert.java
//Demonstratingtheassertiontool
packagec05;
//Commentthefollowing,anduncommentthe
//subsequentlinetochangeassertionbehavior:
importcom.bruceeckel.tools.debug.*;
//importcom.bruceeckel.tools.*;
publicclassTestAssert{
publicstaticvoidmain(String[]args){
Assert.is_true((2+2)==5);
Assert.is_false((1+1)==2);
Assert.is_true((2+2)==5,"2+2==5");
Assert.is_false((1+1)==2,"1+1!=2");
}
}///:~经由过程改动导进的package,我们可将本人的代码从调试版本酿成终极的刊行版本。这类手艺可使用于任何品种的前提代码。
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 是一种将安全性(Security)列为第一优先考虑的语言 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种将安全性(Security)列为第一优先考虑的语言 是一种为 Internet发展的计算机语言 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Java 编程语言的风格十分接近C、C++语言。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
页:
[1]
2