`
yinter
  • 浏览: 240315 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java中的transient

    博客分类:
  • java
阅读更多
在代码中使用transient声明一个实例变量,并把对象序列化的时候不会被存储的,例如:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Person implements Serializable {
private String username;
private transient int age;

Person(String name, int age) {
this.username = name;
this.age = age;
}

public String toString() {
return "username: " + username + "\nage: " + age;
}

public static void main(String[] args) {
Person person = new Person("Hulk", 12);
System.out.println("save object before****************************");
System.out.println(person);


try {
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(
"person.txt"));

out.writeObject(person);
out.close();

Thread.sleep(2000);

ObjectInputStream input = new ObjectInputStream(new FileInputStream(
"person.txt"));

System.out.println("read object***********************************");

person = (Person) input.readObject();

System.out.println(person);

} catch (Exception e) {
e.printStackTrace();
}
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics