1)一旦變量被transient修飾,變量將再也不是對象持久化的一部分,該變量內容在序列化後沒法得到訪問。對象
2)transient關鍵字只能修飾變量,而不能修飾方法和類。注意,本地變量是不能被transient關鍵字修飾的。變量若是是用戶自定義類變量,則該類須要實現Serializable接口。接口
3)被transient關鍵字修飾的變量再也不能被序列化,一個靜態變量無論是否被transient修飾,均不能被序列化。變量
第三點可能有些人很迷惑,由於發如今User類中的username字段前加上static關鍵字後,程序運行結果依然不變,即static類型的username也讀出來爲「Alexia」了,這不與第三點說的矛盾嗎?其實是這樣的:第三點確實沒錯(一個靜態變量無論是否被transient修飾,均不能被序列化),反序列化後類中static型變量username的值爲當前JVM中對應static變量的值,這個值是JVM中的不是反序列化得出的,序列化