1. 程式人生 > >transient 英 ['trænz??nt] -Java 關鍵字

transient 英 ['trænz??nt] -Java 關鍵字

文件的 答案 操作 防止 word 物理 存儲 serializa 方便

java有個特點就是序列化(Serializable,簡單地來說就是可以將這個類存儲在物理空間(當然還是以文件的形式存在),這一操作又稱為對象持久化保存

,那麽當你從本地還原這個文件時,你可以將它轉換為它本身。這可以極大地方便網絡上的一些操作,但因為涉及到安全問題,所以並不希望把類裏面所有的東西都進行存儲(因為那樣,別人可以通過序列化知道類裏面的內容)

,這時我們就可以使用transient這個關鍵字,它的意思是臨時的,即加上它之後的變量不會隨類一起序列化到本地,所以當還原後,這個關鍵字定義的變量也就不再存在,這樣就可以防止別人通過序列化知道類裏面的內容。

接下來,簡單的寫一個demo

執行結果如下:

Sat Sep 09 16:52:44 CST 2017
user1
admin123
Sat Sep 09 16:52:44 CST 2017
user1
Not Set

如果我們在構造函數中給密碼初始值,那麽在將序列化之後的對象轉換為具體類的對象時密碼的值還存在嗎?答案是否定的。將持久化對象轉換為具體類的對象,並不會調用具體類的構造函數。

所以程序執行的結果仍然是Not Set

transient 英 ['trænz??nt] -Java 關鍵字