JAVA基础:Java学习--过程篇

文章作者 100test 发表时间 2007:03:14 16:37:33
来源 100Test.Com百考试题网


每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法。因为我学习Java是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法,只能给大家提供一点参考了

学习Java的第一步是安装好JDK,写一个Hello World, 其实JDK的学习没有那么
简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞 清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索 清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。

第二步是学习Java的语法。Java的语法是类C 的,基本上主流的编程语言不是类C,就是类似C 的,没有什么新东西,所以语法的学习,大概就是半 天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为 什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。

第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没 有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C 的经验,只有C的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。不过我想如果有C 经 验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,
并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。

第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多
个,我没有统计过。但是真正对于我们来说最核心的只有4个,分别是
java.lang.*.
java.io.*.
java.util.*.
java.sql.*.

这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而Oreilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。

对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别
是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能详细的介绍
每个类的用法,但是我反复强调,我给你们讲这些包的不是要 告诉你们类的方法是怎么调
用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每
个类是用在什么场合,当我遇到问题的时 候,我知道哪个类,或者哪几个类的组合可以解
决我的问题,Thatall!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的
工作就足够了。编 码的时候,具体的方法调用,是边写代码,边查Documentation,所有
的东西都在Documentation里面,不要求你一定记住,实际你也记 不住3000多个类的总共
将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。

第五步,通过上面的学习,如果学的比较扎实的话,就打好了Java的基础了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其 他一些比较有用处的类。相信进展到这一步,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做GUI编 程之外,JDK里面其他会有用处的包是这些:
java.text.*.
java.net.*.
javax.naming.*.
这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。


相关文章


java设置-JDK环境变量的设置
JAVA技术:XML配置文件的读取处理
JAVA基础:Java学习--过程篇
java安全:Java语言的XML验证API
J2SE综合——对Final的一点认识
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛