Serializable接口简介

原创 2007年09月20日 09:48:00
java.io.Serializable接口
实现java.io.Serializable 接口的类是可序列化的。没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化。
序列化类的所有子类本身都是可序列化的。这个序列化接口没有任何方法和域,仅用于标识序列化的语意。
允许非序列化类的子类型序列化,子类型可以假定负责保存和恢复父类型的公有的、保护的和(如果可访问)包的域的状态。只要该类(扩展)有一个无参构造子,可初始化它的状态,那么子类型就可承担上述职责。在这种情况下申明一个可序列化的类是一个错误。此错误将在运行时被检测。
就是可以把对象存到字节流,然后可以恢复!Integer实现了Serializable,所以可以把一个Integer的对象用IO写到文件里,之后再可以从文件里读出,如你开始写入的时候那个对象的intValue() 是5的话,那读出来之后也是5,,那么用序化类的作用。是用来传送类的对象。
所谓的Serializable,就是java提供的通用数据保存和读取的接口。至于从什么地方读出来和保存到哪里去都被隐藏在函数参数的背后了。这样子,任何类型只要实现了Serializable接口,就可以被保存到文件中,或者作为数据流通过网络发送到别的地方。也可以用管道来传输到系统的其他程序中。这样子极大的简化了类的设计。只要设计一个保存一个读取功能就能解决上面说得所有问题。
import java.io.*;
import java.util.*;
class TestVector implements java.io.Serializable{
private Vector vect=new Vector();
public void add(Object obj){
this.vect.add(obj);
}
public void print(){
System.out.println(this.vect);
}
public static void main(String[] args){
try {
/* 将对象写到一个文件里 */
FileOutputStream objfile = new FileOutputStream("testvector.obj");
/* 创建一个输出流 */
ObjectOutputStream p = new ObjectOutputStream(objfile);
/* 创建一个TestVector对象 */
TestVector tv =new TestVector();
/*给Vector写入几String个对象*/
tv.add("One");
tv.add("Two");
tv.add("Three");
p.writeObject(tv); // 把tv写入流
p.flush();
objfile.close(); // 关闭文件对象
} catch (Exception e) {
e.printStackTrace();
}
}
}
 

java对象实现Serializable接口

理解java对象实现Serializable接口
  • u013250327
  • u013250327
  • 2014年09月03日 09:37
  • 9336

java中的Serializable接口的作用

转载来自:http://blog.sina.com.cn/s/blog_6d3fcc7e0100vod1.html 实现java.io.Serializable 接口的类是可序列化的。没有实现此接口...
  • shehun11
  • shehun11
  • 2014年10月20日 14:42
  • 2058

Java对象序列化原理以及Serializable接口

Java对象的序列化就是把一个对象变成二进制的数据流的一中方法,通过对象的序列化可以方便的实现对象的传输和存储。 原理是:对象------------->转换----------------->将对象...
  • fengshizty
  • fengshizty
  • 2014年11月20日 16:16
  • 2521

Java Serializable接口实现问题

JavaBeans       要了解Serializable接口之前先来了解最基本的JavaBeans。JavaBeans为我们提供了最简单的Java类实体,这些实体伴随着业务在应用中来回穿梭。J...
  • boonya
  • boonya
  • 2014年11月25日 14:23
  • 3684

Effective Java--序列化--你以为只要实现Serializable接口就行了吗

前言相信大家对于序列化都有一些了解,实现也很简单,只需要实现Serializable接口,将类加上序列化的标记,编译器就会自动给我们类对象添加序列化和反序列化实现,这样我们就可以happy的进行数据持...
  • smileiam
  • smileiam
  • 2017年07月18日 17:53
  • 763

Serializable继承和用途

今天在android的实验上,碰到个问题,花了1个多小时查出问题并解决。 这个问题比较隐蔽,不了解的话会浪费很多时间。 先看代码: 在NewsListActivity.java中 Intent...
  • xpp1993
  • xpp1993
  • 2013年02月20日 22:32
  • 3448

javaBean为什么要实现Serializable接口?

Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成一组byte,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了。这一点甚至在跨网络...
  • chris_paul3
  • chris_paul3
  • 2014年03月12日 09:18
  • 1354

定义一个类实现Serializable接口

一、序列化简介 序列化是Java中的一个非常重要的特性,通过序列化机制,我们可以将Java的对象变成流,或者存储在硬盘中,或者通过网络传输给网络的其他用户。序列化是J2EE中的一个重要的技术。 二...
  • JustinNick
  • JustinNick
  • 2016年09月03日 19:01
  • 2450

Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨

原文:http://kentkwan.iteye.com/blog/739514 Part I 没啥好说的,直接开始Part II吧。   Part II 谈...
  • YiZhiCXY
  • YiZhiCXY
  • 2016年05月13日 21:40
  • 2154

Parcelable和Serializable的作用、效率、区别及选择

1、作用 Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的...
  • ljx19900116
  • ljx19900116
  • 2014年12月03日 17:10
  • 3333
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Serializable接口简介
举报原因:
原因补充:

(最多只允许输入30个字)