在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

Java基础知识你知道多少?你知道Java知识从哪开始学习

2017-2-9 13:06| 发布者: zhangjf| 查看: 626| 评论: 0

摘要: 首先我们要知道Java的大致分类,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ON(Open Net Environment)体系。学习Java的第一步就是要安 ...

首先我们要知道Java的大致分类,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ON(Open Net Environment)体系。
学习Java的第一步就是要安装好JDK,写一个java程序Hello World,其实我们在学习JDK的时候是没有那么简单,关于JDK有两个问题是很容易一直困扰java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,是如何来寻找类的路径问题。要是能把这两个问题摸索清楚了,也就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,这本书对这两个问题是进行了深入的探讨。
接着,第二步学习Java的语法。Java的语法是类C++的,是基本上主流的编程语言不是类C,就是类C++的,也没有什么新东西的,所以大概半天的时间就可以足够掌握语法的学习哦。我们唯一需要注意的是这几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候可以用,为什么要用,该怎么用,这可能是需要有人来指点一下的,如果自己琢磨需要很长时间。
第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理的机制。如果是对于一个没有面向对象语言背景的人来说,我要告诉你的是这个过程是需要花很长很长时间,因为你学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下10遍,才彻底领悟了。不过我想如果有C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。
第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jrelibrt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常之多。据说有3000多个,我是没有统计过。但是真正对于我们来说最核心的只有4个,分别是
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;
这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而O'reilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:
首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。
对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。所以你们要尽可能的去了解,熟悉,搞懂,掌握,Java给我们提供了哪些类,每个类是用在什么样的场合,当我遇到问题的时候,我就知道哪个类,或者哪几个类的拼凑组合可以解决我遇到的问题,That'all!,当我们在具体写程序的时候,只要你知道该用哪个类可以完成你的工作就足够了。你在编码的时候,具体的方法调用,是边写代码,边查Documentation,所有的东西都在Documentation里面,不要求你一定记住它们,实际你也是记不住3000多个类的因为总共有将近10万个方法调用。所以你要对每个包的总体框架的把握就变得很重要了。
最后说一点,通过上面的学习,如果学的比较扎实熟练,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他的一些比较有用处的类。相信你们进展到这一步了,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做GUI编程之外,JDK里面其他会有用处的包是这些:
java.text.*;
java.net.*;
javax.naming.*;
这些包里面真正用的比较多的类其实很少,只有几个,所以你不需要花太多时间来学习的。
如果有其他疑问关注“动力节点Java学院”微信公众号,专业在线导师为你解答疑惑,现在报名培训,可免费参加Java初级课程,亲身体验这里的学习氛围。

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-10 00:27

Copyright 2015-2025 djqfx

返回顶部