您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页Java 对象Serializable

Java 对象Serializable

来源:爱问旅游网

Java Serializable概述

Java 提供了把Java对象虚拟化为二进制流的Serializable接口。Serializable的作用有:
1. 保存Java内存镜像中的对象到二进制流。
2. 用于进程间通信,比如socket.

Java Serializable接口

像其他java空接口一样,Serializable也是一个空接口。Java中很多这样的空接口,其实只是一个语义和约定作用,并没有相应的方法。


Serializable Demo

serialVersionUID为对象序列号版本,不同版本之间的对象不可以被反序列号
不想被序列号的成员变量,比如用户的密码,可以设置成transient变量

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

public class User implements Serializable{

	private static final  long serialVersionUID =1;
	
	private String name;
	private int age;
	public User(String name,int age)
	{
		this.name =name;
		this.age =age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	public static void main(String args[])
	{
		User u = new User("zhangshan",18);
		try
		{
			FileOutputStream ofs = new FileOutputStream("user.bin");
			ObjectOutputStream oos = new ObjectOutputStream(ofs);
			oos.writeObject(u);
			oos.close();
		}
		catch (Exception e)
		{
			System.out.println("Serial object error");
		}
		
		try
		{
			FileInputStream ifs = new FileInputStream("user.bin");
			ObjectInputStream ios = new ObjectInputStream(ifs);
			User au = (User)ios.readObject();
			ios.close();
			System.out.println(au.age);
		}
		catch (Exception e)
		{
			System.out.println("UnSerial object error");
		}
	}
}


因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务