From Gossip@caterpillar

语言技术:Java Gossip(一)

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

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

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


入门准备
    我不想告诉您学习Java很简单(学习语言很简单?基本上我认为只是书商与推销语言的人在打的广告标语...),至少学习Java的第一步,就要先搞定 PATHCLASSPATH, 如果您确定您搞定了,再来看以下的内容。
  • 基本 Console 互动
从互动中学习,是 我最喜爱的学习方式。学习Java的第一 步要先看的到您的程式执行结 果,要可以对程式输入一些资料,作一些傻瓜式的互动
  • 基础入门
资料型态、变数常 数、流程控制,学任何一个程式语言都不可 缺少的过程,虽然无趣但很实 际。

接触物件
    在Java中所面对的“几乎”都是物件(Object),所以首先要学的是一些基本的物件观念,以及如何使用它们。
  • autoboxing、unboxing
基本 (Primitive)资料型态的 autoboxing、unboxing是J2SE 5.0新特性,虽然提供了方便,但隐藏了细节,建议对物件(Object)有一定程度了解的人使用。
  • 阵列(Array)        
不管在其它语言中 是如何,阵列(Array)在Java中 可得看作一个物件,它有一些值得探讨的特性。
  • 字串(String)
字串也许是您在 Java中最常处理的物件,但也可能是最常 被忽视的物件,但从此刻开始,无论如何请重视它。

物件导向
    请记得一个观念:学会一个支援物件导向的程式(如 Java)与学会物件导向(程式设计)观念是两码子事。这边尽量在说明Java的物件导向支援特性时,同时带入一些物件导向观念。
  • 封装(Encapsulation)
封装物件资讯是第 一步,您要了解如何使用类别定义物件,像 是定义物件的属性、行为等等,类别是建构物件时所依赖的规格书。
您可以基于某个 (父)类别的定义加以扩充,而制订出一个新 的(子)类别定义,两个类别间某些定义可能相同或不同,新的(子)类别也可能拥有原来的(父)类别所没有的定义。
抽象类别、介面型 态在物件导向设计中伴演着极重要的角色, 而其背后的多型应用,其使用的适当与否,足以影响程式的架构与未来的可维护性。

资源管理
  • 组织您的程式
什么资源该放在什 么地方,预先作好整理与分类,这样才不会 到处散落,满地都是*.class档案。
一个程式的撰写的 过程中,避免程式执行时的错误,往往占了 程式开发时程的绝大多数时间,对于避免程式执行时的错误,Java 提供了例外处理机制。
J2SE 5.0 新增了列举型态,除了常数设置的功能之外,它还给了您许多编译时期的检查功能,但别想的太复杂,它本质上还是一个类别。
J2SE 5.0 提供的泛型,目的在让您定义“安全的”泛型类别(Generics class),事实上 J2SE 5.0 前就用 Object 解决了泛型类别的部份需求,J2SE 5.0 之后再解决的是型态安全问题。

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

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

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

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