ITEEDU

良葛格的JAVA学习笔记

关于简介 Java 的数据太多了,这轮不到我来介绍,您可以用 Google 搜寻到一堆 Java 的介绍,每本讲授 Java 的书籍多多少少也会提到一些,您也可以从这篇 Java 历史 介绍开始认识 Java。

Java 是我最熟悉的程序语言,2004年9月30日 Tiger/J2SE 5.0 已经公布,它有了一些大的变动与改进,这个分区主要整理一些我在了解 J2SE 5.0 过程中的一些心得。

JDK6 预计在 2006年11月初 正式公布,当中的新增功能对于初学者来说,比较没有很大的变动,在这份文件当中,会撷取几个好用的 Java SE 6 功能加以介绍。

入门准备

    我不想告诉您学习Java很简单(学习语言很简单?基本上我认为只是书商与推销语言的人在打的广告标语...),至少学习Java的第一步,就要先搞定 PATH 与 CLASSPATH , 如果您确定您搞定了,再来看以下的内容。

  • 基本 Console 互动

从互动中学习,是我最喜爱的学习方式。学习Java的第一步要先看的到您的程序执行结 果,要可以对程序输入一些数据,作一些傻瓜式的互动。

  • 基础入门

数据型态、变量常数、流程控制,学任何一个程序语言都不可缺少的过程,虽然无趣但很实 际。

接触对象

    在Java中所面对的「几乎」都是对象(Object),所以首先要学的是一些基本的对象观念,以及如何使用它们。

  • autoboxing、unboxing

基本(Primitive)数据型态的autoboxing、unboxing是J2SE 5.0新特性,虽然提供了方便,但隐藏了细节,建议对对象(Object)有一定程度了解的人使用。

  • 数组(Array)      

不管在其它语言中是如何,数组(Array)在Java中可得看作一个对象,它有一些值得探讨的特性。

  • 字符串(String)

字符串也许是您在Java中最常处理的对象,但也可能是最常被忽视的对象,但从此刻开始,无论如何请重视它。

对象导向

    请记得一个观念:学会一个支持对象导向的程序(如 Java)与学会对象导向(程序设计)观念是两码子事。这边尽量在说明Java的对象导向支持特性时,同时带入一些对象导向观念。

  • 封装(Encapsulation)

封装对象信息是第一步,您要了解如何使用类别定义对象,像是定义对象的属性、行为等等,类别是建构对象时所依赖的规格书。

  • 继承(Inheritance)  

您可以基于某个(父)类别的定义加以扩充,而制订出一个新的(子)类别定义,两个类别间某些定义可能相同或不同,新的(子)类别也可能拥有原来的(父)类别所没有的定义。

  • 多型(Polymorphism)

抽象类别、接口型态在对象导向设计中伴演着极重要的角色,而其背后的多型应用,其使用的适当与否,足以影响程序的架构与未来的可维护性。

资源管理

  • 组织您的程序

什么资源该放在什么地方,预先作好整理与分类,这样才不会到处散落,满地都是*.class档案。

  • 例外处理(Exception Handling)与断言(Assertion)

一个程序的撰写的过程中,避免程序执行时的错误,往往占了程序开发时程的绝大多数时间,对于避免程序执行时的错误,Java 提供了例外处理机制。

  • 列举型态(Enumerated Types)

J2SE 5.0 新增了列举型态,除了常数设置的功能之外,它还给了您许多编译时期的检查功能,但别想的太复杂,它本质上还是一个类别。

  • 泛型(Generics)

J2SE 5.0 提供的泛型,目的在让您定义「安全的」泛型类别(Generics class),事实上 J2SE 5.0 前就用 Object 解决了泛型类别的部份需求,J2SE 5.0 之后再解决的是型态安全问题。

参考数据

如果您是入门 Java 的新手,记得 Java 已经有近10年的历史了,网络上有很多对您有用的数据,记得 google 是您的好朋友,您也可以从下面的FAQ(Frequently Asked Questions)文件解决您不少的疑惑。

  • 新手 FAQ 资料

下面的讨论区与Wiki会对您很有帮助。在使用讨论区要记得的是,不要慌慌张张的发问,先用搜寻功能找找答案,要提问前先看看别人都是如何发问的,并注意每个版面的使用规范。

  • http://www.javaworld.com.tw/
  • http://www.javaworld.com.tw/confluence/homepage.action


Java 的入门书很多,每个人的入门需求不尽相同,这边不作任何的入门书籍的推荐;进阶书的部份,我想下面这本是最适合的,而且它是免费的,目前您也可以购买到中文翻译版本。

  • Thinking in Java

最后当然别忘了,Sun 的 Java 官方网站 有很多资源,若遇到不懂的类别使用方法,API是最佳的参考文件。

  • J2SE 5.0 in a Nutshell
  • J2SE 5.0 Documentation
  • J2SE 5.0 API Specification