靜態變數序列化

2021-09-01 10:30:48 字數 487 閱讀 4948

靜態變數序列化

情境:檢視清單 2 的**。

清單 2. 靜態變數序列化問題**

public class test implements serializable catch (filenotfoundexception e) catch (ioexception e) catch (classnotfoundexception e) }}

清單 2 中的 main 方法,將物件序列化後,修改靜態變數的數值,再將序列化物件讀取出來,然後通過讀取出來的物件獲得靜態變數的數值並列印出來。依照清單 2,這個 system.out.println(t.staticvar) 語句輸出的是 10 還是 5 呢?

最後的輸出是 10,對於無法理解的讀者認為,列印的 staticvar 是從讀取的物件裡獲得的,應該是儲存時的狀態才對。之所以列印 10 的原因在於序列化時,並不儲存靜態變數,這其實比較容易理解,序列化儲存的是物件的狀態,靜態變數屬於類的狀態,因此 序列化並不儲存靜態變數。

MFC序列化及反序列化變數

你說什麼最難受,是相愛的人見不了面,還是最愛的人在別人身邊。網易雲熱評 一 作用 以二進位製流 資料流 形式,讀寫硬碟檔案,效率高,速度快 二 使用方法 1 寫 序列化 資料 定義ar物件,ar將維護一塊buff。依次序列化每乙個資料到ar維護的buff中。如果buff空間不足,將ar維護buff中...

靜態變數和非靜態變數

class string1 a和b編譯報錯,can not make a static referrence to no static filed s3,s4 分析 string s1 pingguo string s2 xiangjiao string s3 new string lizi str...

變數 靜態變數

變數 全域性變數 外部變數 在函式外部定義,以及被本程式所有物件或函式引用。區域性變數 內部變數 由某個函式或物件建立,只能被內部引用,而無法被其他物件或函式引用。特點 該變數在全域性資料區分配記憶體 未經初始化的靜態全域性變數會被程式自動初始化為0 在函式體內宣告的自動變數的值是隨機的,除非它被顯...