如果你需要 JDK6 入門,可參考我開放的《Java SE 6 技術手冊》,如果你需要 Java 六小時生態之旅,可參考〈Java Tutorial〉系列,如果需要更完整的 Java SE 14 資訊,可以參考上頭的《Java SE 14 技術手冊》 …
這邊的起步走需要的時間長了一些,因為慢一點才會快一點 ...
Java 不僅是程式語言,也代表解決問題的平台,更代表了原廠、各個廠商、社群、開發者與使用者溝通的成果。
顯示 "Hello World" 很簡單,然而,別過於樂觀地以為,你想從事的程式設計工作就是如此容易駕馭。
想像一下,如果程式規模稍大,一堆 .java 與 .class 檔案還放在一起,會有多麼混亂。
package
import
各種程式語言都有其誕生的宗旨與演化過程,對這些基本語法元素,也就會有其獨有的特性。
我們先從型態開始探討....
為了告訴電腦特定條件下該執行的動作,要使用各種條件式來定義程式執行的流程。
if
else
switch
for
while
break
continue
使用 Java 撰寫程式幾乎都在使用物件,要產生物件必須先定義類別。
類別是物件的設計圖,物件是類別的實例。
瞭解如何包裹基本型態,這有助於進一步瞭解物件與基本型態的差別。
陣列在 Java 是物件,之前介紹過的物件基本性質,在操作陣列時也都要注意。
在 Java 中,字串本質是包裹字元陣列的物件,是 java.lang.String 類別的實例。
java.lang.String
封裝、繼承、多型 … 以及用 Java 實現 …
定義類別並不等於作好了物件導向中封裝(Encapsulation)的概念,那麼到 底什麼才有封裝的意涵?
討論過物件導向中封裝的通用概念,以及如何用 Java 語法實現,接下來要討論 Java 的特定語法細節。
public
this
static
並非為了避免重複定義實作就使用繼承。
結合 Java 的特性,繼承還有許多細節必須明瞭。
protected
final
java.lang.Object
什麼情況叫濫用繼承?介面代表的又是什麼?
結合 Java 的特性,介面還有一些細節必須明瞭。
程式中總有些意想不到的狀況所引發的錯誤。
只要你能捕捉包裝錯誤的物件,就可以針對該錯誤作一些處理。
try
catch
assert
若因錯誤而拋出例外,你的設計是否還能正確地關閉資源呢?
finally
java.lang.AutoCloseable
就是介紹泛型、列舉、標註 ...
泛型定義可以相當複雜,用與不用有所取捨。
extends
super
用列舉型態取代列舉常數。
enum
java.lang.Enum
對程式碼加些標註,給人看也給機器讀。
新的語法、新的典範、新的能力與更重的責任。
有關 Lambda 前世今生,可參考 Java Lambda Tutorial,以下只從 Java 看 Lambda。
Collection
為了支援 Lambda,Collection 做了增強,因而你得先認識 Collection。
List
Set
Queue
Iterable
Iterator
Comparable
Comparator
源於函數式的概念,終於走進命令式的 Java。
Optional
null
Consumer
Function
Predicate
Supplier
Stream
reduce
collect
flatMap
變不變有關係嗎?
臭蟲追追追....
真的要模組化了嗎?啊啊啊.....XD