Java-transient总结

纸上得来终觉浅,绝知此事要躬行  --陆游     问渠那得清如许,为有源头活水来  --朱熹

transient有“临时的”,"短暂的"含义,我们了解过Serializable,Java序列化,当对某些变量我们不想对它进行序列化的时候就可以将此变量设置为transient,transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。 transient说明一个属性是临时的,不会被序列化。
public class TransientDemo implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private transient String name;
private String password;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
// TODO Auto-generated method stub
String path="D:"+File.separator+"object.txt";
File file=new File(path);
TransientDemo transientDemo=new TransientDemo();
transientDemo.setName("姓名");
transientDemo.setPassword("密码");
ObjectOutput output=new ObjectOutputStream(new FileOutputStream(file));
output.writeObject(transientDemo);
ObjectInput input=new ObjectInputStream(new FileInputStream(file));
TransientDemo demo=( TransientDemo )input.readObject();
System.out.println(demo.getName()+demo.getPassword());
}

}
结果name输出为null

你可能感兴趣的:(Java基础知识)