代碼未顯式實現 Serializable,但繼承 JFrame → Frame → Window → Container → Component,而 Component 實現了 Serializable。因此子類自動成為可序列化類,編譯器提醒缺少 serialVersionUID。
private static final long serialVersionUID = 1L;
@SuppressWarnings("serial")
public class Test extends JFrame { ... }
writeObject 拋出 NotSerializableException,但繼承鏈已決定不可逆。Serializable)均顯式聲明 serialVersionUID,避免跨版本反序列化失敗。implements Serializable 意味著「支持持久化/網絡傳輸」,屬於類契約一部分。