欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

---转发 Java中的transient

程序员文章站 2022-03-12 18:36:17
...
[color=orange]Java中的transient,看jdk源码的时候突然忘了这个是什么了,查了一下,是用于声明序列化的时候不被存储的,在这里记下


example:   
import java.io.*; 
import java.util.*; 

class Logon implements Serializable { 
private Date date = new Date(); 
private String username; 
private transient String password; 
Logon(String name, String pwd) { 
username = name; 
password = pwd; 
} 
public String toString() { 
String pwd = 
(password == null) ? "(n/a)" : password; 
return "logon info: \n " + 
"username: " + username + 
"\n date: " + date.toString() + 
"\n password: " + pwd; 
} 
public static void main(String[] args) { 
Logon a = new Logon("Hulk", "myLittlePony"); 
System.out.println( "logon a = " + a); 
try { 
ObjectOutputStream o = 
new ObjectOutputStream( 
new FileOutputStream("Logon.out")); 
o.writeObject(a); 
o.close(); 
// Delay: 
int seconds = 5; 
long t = System.currentTimeMillis() 
+ seconds * 1000; 
while(System.currentTimeMillis() < t) 
; 
// Now get them back: 
ObjectInputStream in = 
new ObjectInputStream( 
new FileInputStream("Logon.out")); 
System.out.println( 
"Recovering object at " + new Date()); 
a = (Logon)in.readObject(); 
System.out.println( "logon a = " + a); 
} catch(Exception e) { 
e.printStackTrace(); 
} 
} 
} ///:~
[/color]
相关标签: Java JDK