Java中的transient关键字介绍

前端技术 2023/09/03 Java

transient说明一个属性是临时的,不会被序列化。
下面是一个Demo,name声明为 transient,不被序列化

package com.zzs.tet;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;

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;
	}

	/**
	 * @param args
	 * @throws IOException 
	 * @throws FileNotFoundException 
	 * @throws ClassNotFoundException 
	 */
	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());
	}

}

输出结果:

null密码

本文地址:https://www.stayed.cn/item/7710

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。