import java.io.*;
/*
* SerializableObject.java
*
* Created on 2006年8月23日, 上午11:26
*
* 对象串行化
* 对象通过写出描述自己状态的数值来记录自己,这个过程叫做对象串行化。对象的寿命通
* 常是随着生成该对象的程序的终止而终止,在有些情况下,需要将对象的状态保存下来,然后
* 在必要的时候将对象恢复,值得注意的是,如果变量是另一个对象的引用,则引用的对象也要
* 串行化,串行化是一个递归的过程,可能会涉及到一个复杂树结构的串行化,比如包括原有对
* 象,对象的对象等。
* 在java.io包中,接口Serializable是实现对象串行化的工具,只有实现了Serializable
* 的对象才可以被串行化。Serializable接口中没有任何的方法,当一个类声明实现Seriali-
* zable接口时,只是表明该类遵循串行化协议,而不需要实现任何特殊的方法。
* 在进行对象串行化时,需要注意将串行化的对象和输入、输出流联系起来,首先通过对
* 象输出流将对象状态保存下来,然后通过对象输入流将对象状态恢复。
*/
int page;
this.isbn = isbn;
this.name = name;
this.page = page;
this.type = type;
}
}
Book bookObj
= new Book("7-02-016450-1",
"Java",
218,
"programming");
try {
objOutStream.writeObject(bookObj);
objOutStream.close();
e.printStackTrace();
}
bookObj = null;
try {
bookObj
= (Book) objInStream.
readObject();
objInStream.close();
e.printStackTrace();
}
System.
out.
println("------------------------------------------------");
System.
out.
println("There are information about book:");
System.
out.
println("ISBN Number: " + bookObj.
isbn);
System.
out.
println("Book Name: " + bookObj.
name);
System.
out.
println("Book Page: " + bookObj.
page);
System.
out.
println("Book Type: " + bookObj.
type);
}
}