JAVA基础学习篇----对象串行化及Transient关键字的使用
来源:互联网 发布:家庭网络组网方案 编辑:程序博客网 时间:2024/06/11 08:18
http://blog.csdn.net/scruffybear/archive/2007/12/03/1914586.aspx
http://blog.csdn.net/geggegeda/archive/2008/07/25/2709822.aspx
上面两篇文章看过后对对象串行化及Transient关键字的使用有了一定的理解
总之:串行化即对象序列化的类必须实现Serializable接口,序列化即是将创建的对象能够保存起来,将来要使用的时候再拿出来,如果对象的某个成员不想序列化,那么声明为transient。
如下类:Student
在测试类中创建Student对象,然后通过ObjectOutputStream将对象的信息写入文件中。
要用的时候再拿出来并强制转化为Student对象,输出。
数据成员:age不定义为transient时,测试结果输出
the name is :zhangshang
the age is :23
而定义为transient时输出为:
the name is :zhangshang
the age is :0
代码如下:
http://blog.csdn.net/geggegeda/archive/2008/07/25/2709822.aspx
上面两篇文章看过后对对象串行化及Transient关键字的使用有了一定的理解
总之:串行化即对象序列化的类必须实现Serializable接口,序列化即是将创建的对象能够保存起来,将来要使用的时候再拿出来,如果对象的某个成员不想序列化,那么声明为transient。
如下类:Student
在测试类中创建Student对象,然后通过ObjectOutputStream将对象的信息写入文件中。
要用的时候再拿出来并强制转化为Student对象,输出。
数据成员:age不定义为transient时,测试结果输出
the name is :zhangshang
the age is :23
而定义为transient时输出为:
the name is :zhangshang
the age is :0
代码如下:
- package com.bytecode.openexcel.util;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- public class TestSerializable {
- public static void main(String[] args) {
- Student st = new Student("zhangshang", 23);
- Student su;
- try {
- ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("c:/out.txt")));
- oos.writeObject(st);
- oos.close();
- ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("c:/out.txt")));
- su = (Student)ois.readObject();
- System.out.println(su.toString());
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
- class Student implements java.io.Serializable{
- private String name ;
- private transient int age;
- public Student(){
- }
- public Student(String name, int age){
- this.name = name;
- this.age = age;
- }
- public String toString(){
- return "the name is :" + name + "/nthe age is :" + age;
- }
- }
- JAVA基础学习篇----对象串行化及Transient关键字的使用
- Java的串行化和transient关键字
- java串行化——Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java中对象的串行化(Serialization)和transient关键字
- Java transient关键字学习使用
- java transient 串行化
- java基础之 对象序列化、transient关键字、StringTokenizer
- java transient关键字的使用
- Java基础 transient关键字
- Java基础-transient关键字
- JavaScript实用的一些技巧
- 不用表格的菜单(转载)
- GDB调试(二)
- 校验及常见错误(转载)
- VB 驱动控制类
- JAVA基础学习篇----对象串行化及Transient关键字的使用
- 二、工厂方法模式
- 第一次写
- 三、抽象工厂模式
- UVa Problem Solution: 10042 - Smith Numbers
- 四、单例模式
- 无线网卡
- A Recipe for OpenID-Enabling Your Site
- 兴建平潭海峡大桥的历程