序列化和反序列化——Serializable和transient关键字

8 篇文章 0 订阅
1 篇文章 0 订阅

序列化和反序列化——Serializable和transient关键字

Serializable:序列化,通过Serializable接口将Java对象等内容转换成数据进行运输与保存。
transient:反序列化,由transient修饰的成员变量不会进行序列化保存。

package Serializable_;

import java.io.Serializable;

public class User implements Serializable {

	/**
	 * 序列版本号
	 */
	private static final long serialVersionUID = 1L;
	private String loginName;
	private transient String passWord;// 反序列化
	private String userName;

	public User() {

	}

	public User(String loginName,String passWord, String userName) {
		this.loginName=loginName;
		this.passWord = passWord;
		this.userName = userName;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public String getPassWord() {
		return passWord;
	}

	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Override
	public String toString() {
		return "User [loginName=" + loginName + ", passWord=" + passWord + ", userName=" + userName + "]";
	}

}

package Serializable_;

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

public class SerializableDome {

	public static void main(String[] args) throws Exception, IOException {
		// 序列化存储
		ObjectOutputStream owt = new ObjectOutputStream(new FileOutputStream("D:\\试用文档\\05.dat"));
		User user = new User("蒙奇.D.路飞", "123456", "路飞");
		owt.writeObject(user);
		owt.flush();
		owt.close();
		// 反序列化输出
		ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\试用文档\\05.dat"));
		User user1 = (User) ois.readObject();// 反序列化
		System.out.println(user1);
		System.out.println(user1.getPassWord());
		ois.close();

	}

}

在这里插入图片描述
可以看出不管怎样都不能得到passWord的值
在这里插入图片描述
打开文件看,只有loginName和userName,而passWord并没有出现,所以说被transient修饰的成员变量从根本就没有保存进文件中去。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KIN布

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值