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

posted @ 2017-09-21 23:13  马云12314  阅读(400)  评论(0编辑  收藏  举报