Java 序列化持久化實戰:MyWorld/CADState 範例與 static 欄位處理
用序列化保存程式狀態並恢復是誘人想法,但實現前必須解決問題:兩物件共享第三物件參考時如何序列化?恢復後共享參考只出現在一物件上?序列化至獨立檔案再不同部分配載會
Java IO 學習總結:流庫能力、裝飾器模式、格式化缺憾與設計權衡
Java IO 流庫滿足基本需求:可透過主控台、檔案、記憶體區塊甚至網際網路(第 15 章)讀寫。可繼承 InputStream/OutputStream 建立
Java IO 練習題集:檔案讀寫、Vector 操作、命令行參數與單字搜尋
開啟文字檔,逐行讀取。每行作為 String 讀入並放入 Vector。反序列印 Vector 所有行。 修改練習 1,檔名作為命令行參數提供。 修改練習 2
Java RTTI 需求由來:多型、上溯造型與型別查詢動機
考慮熟悉的類別結構:基類 Shape,衍生類 Circle、Square、Triangle。 基類在頂端,衍生類向下延伸。OO 目標:用大量代碼控制基類型參考
Java RTTI 核心:Class 物件、類別載入機制、類別字面常數與基本型別 TYPE 欄位
理解 RTTI 運作,先搞懂型別資訊在執行期如何表示。用特殊Class 物件(或稱元類)包含類別相關資訊。實際上我們用 Class 物件建立該類別所有「常規」物
Java RTTI 造型前檢查:instanceof、Class 物件與 Java 1.1 isInstance 動態化
目前已知 RTTI 形式: 經典造型 (Shape):用 RTTI 確保正確性,失敗拋 ClassCastException Class 物件:查詢執行期資料
Java RTTI 語法核心:Class 物件、getInterfaces、getSuperclass 與 newInstance 虛擬建構子
Java 用 Class 物件實現 RTTI。Class 類別提供大量方法方便使用。 取得 Class 參考 Class.forName(類別名稱):字串參數
Java 反射機制:執行期型別資訊與元件化程式設計基礎
RTTI 可查詢未知物件型別,但限制:型別必須編譯期已知。編譯器必須明確知道 RTTI 要處理的所有類別。 若取得不在程式空間內的物件參考怎麼辦?物件類別甚至編
Java 反射實戰:類別方法提取器 ShowMethods 與 StreamTokenizer 整理輸出
反射工具主要支援物件序列化、Java Beans、RMI 等特性,鮮少直接使用。但常需動態提取類別相關資訊——查看原始碼或文件只能看到該類別定義/覆寫的方法,基
Java RTTI 學習總結:正確使用時機與濫用風險
RTTI 可根據匿名基類參考查詢型別資訊。但新手極易誤用——多型方法往往已足夠。習慣程序化編程者易將代碼組織成 switch 陳述式,用 RTTI 實現,損失多
Java 傳遞與返回物件核心觀念:參考語義、指標本質與安全機制
讀者應對物件「傳遞」有深刻認識:實際傳遞的只是一個參考。 許多語言可用「普通」方式到處傳遞物件,大多數時候無問題,但特殊情況下變複雜(C++ 極複雜)。Java
Java 傳遞參考驗證:PassHandles 範例與 toString 輸出分析
將參考傳入方法時,指向仍為同一物件。簡單實驗證明: //: PassHandles.java package c12; public class PassHa
Java 別名問題實戰:Alias1/Alias2 範例與副作用防範原則
別名意指多個參考指向同一物件。若有人寫入該物件,其他參考擁有者若不希望物件改變便會失望。 Alias1:直接指派別名 //: Alias1.java publ
Java 製作本地副本完整指南:參考傳遞、別名問題與無語言級支援的現狀
總結:Java 所有參數傳遞皆透過傳遞參考進行。傳遞「物件」實為傳遞指向方法外部物件的「一個參考」。故任何修改相當於修改外部物件。 關鍵特性 參數傳遞過程中自
Java 參數傳遞機制:按值傳遞還是按引用傳遞?術語爭論與核心本質
「按值傳遞」術語歧義大,取決於如何理解程式運行。存在兩派截然不同見解: Java 一切按值傳遞:基本型別傳副本;參考傳參考副本。故「一切」皆按值。前提是參考確
Java 物件複製入門:clone() 淺層複製與 Vector 實戰驗證
需修改物件卻不想影響呼叫端時,製作本地副本最常用 clone()。此方法定義於 Object 為 protected,衍生類須覆寫為 public。標準庫 Ve
使類別具備複製能力:protected 技巧與 Cloneable 介面雙重機制
雖 clone() 定義於 Object,但預設不自動啟用。Java 採「反其道而行」:必須主動加入代碼才能複製。 1. protected 技巧 為避免所有類