本文將 Java 學習過程劃分為九個階段,梳理每階段核心知識點,適合作為復習清單或教學大綱參考。
init() → start() → paint() → stop() → destroy()。Graphics 類、paint(Graphics g)、ImageIcon 載入圖片。FlowLayout (預設)、BorderLayout (Frame 預設)、GridLayout、BoxLayout、GridBagLayout (最靈活,需 GridBagConstraints)。BorderLayout,內層各區域用不同佈局。ActionListener)。void、皆為抽象方法需實作。Error (系統級不可恢復) vs Exception (可處理)。RuntimeException 子類)。Exception,建議提供無參、訊息、原因建構子。throw 拋出異常實例,throws 宣告方法拋出類型。finally 區塊確保資源釋放,final 修飾常數/不可變參考/不可繼承類。Thread 重寫 run(),或實作 Runnable 傳給 Thread 建構子(推薦)。synchronized、Lock、volatile、ThreadLocal。Date (舊)、Calendar、LocalDateTime (Java 8+ 推薦)。InputStream/OutputStream。File、RandomAccessFile (隨機存取)。Reader/Writer。BufferedInputStream/Reader、PrintStream/Writer。Serializable、ObjectOutputStream 持久化物件圖。ServerSocket.accept() 阻塞等待連線,Socket 客戶端連接 IP+Port。InetAddress.getLocalHost()。Vector:同步化、擴容倍數 2x,效能較差,已被 ArrayList + 手動同步或 Collections.synchronizedList 取代。addElement → add, insertElementAt → add(index, e), setElementAt → set(index, e)。循序漸進,每階段動手實作;重點掌握 Java 8+ 現代 API (Stream, Lambda, Time, NIO);閱讀原始碼養成庫設計思維。