首页 > 代码库 > transient关键字
transient关键字
当使用Serializable接口实现序列化操作时,如果一个对象中的某个属性不希望被序列化,
则可以使用transient关键字进行声明:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable;
class Person implements Serializable {
private transient String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return "NAME: " + this.name + ": AGE: " + this.age;
}
}
public class SerDemo01 {
public static void main(String[] args) throws Exception {
ser();
dser();
}
public static void ser() throws Exception {
File f = new File("F:" + File.separator + "watasi.txt");
ObjectOutputStream oos = null;
OutputStream out = new FileOutputStream(f);
oos = new ObjectOutputStream(out);
oos.writeObject(new Person("frank", 30));
oos.close();
}
public static void dser() throws Exception {
File f = new File("F:" + File.separator + "watasi.txt");
ObjectInputStream ois = null;
InputStream input = new FileInputStream(f);
ois = new ObjectInputStream(input);
Object obj = ois.readObject();
ois.close();
System.out.println(obj);
}
}