我讀接口Serializable
的文檔,其中我發現下面幾行:爲什麼基類(不實現Serializable)如果其子類實現Serializable,應該沒有參數構造函數?
允許非序列化類的子類型序列化,子類型可以承擔保存和恢復的狀態責任超類型的公共,受保護和(如果可訪問的)包字段。只有當它繼承的類有一個可訪問的無參數構造函數來初始化類的狀態時,該子類纔可以承擔這個責任。如果不是這種情況,則聲明一個類Serializable是錯誤的。該錯誤將在運行時檢測到。
但是,恢復對象的狀態時,基類的no-arg構造函數的作用是什麼?
見http://www.jguru.com/faq/view.jsp?EID=251942 – GKislin