对象序列化——Java面向对象基础(30)

1.对象序列化的目的:持久化对象数据

2.对象序列化的条件:实现序列化的接口Serializable

import java.io.Serializable;

public class MyObject implements Serializable{
    /**
     * 实现序列化接口,才能持久化
     */
    //serialVersionUID用于标识该类,系统自动生成
    private static final long serialVersionUID = -765378581853551685L;

    private String nameOfObj;

    public String getNameOfObj() {
        return nameOfObj;
    }

    public void setNameOfObj(String nameOfObj) {
        this.nameOfObj = nameOfObj;
    }

}
public class TestIOObject {
    //写入一个对象
    @Test
    public void test01() throws IOException {
        //创建一个对象
        MyObject myObject=new MyObject();
        myObject.setNameOfObj("我的对象");
        //找到写入的目标文件
        OutputStream os=new FileOutputStream("");
        //创建对象流
        ObjectOutputStream oos=new ObjectOutputStream(os);
        //将对象写入文件中
        oos.writeObject(myObject);
        oos.flush();
        oos.close();

    }

    //读取一个对象
    public void test02() throws IOException, ClassNotFoundException{
        //找到要读取的文件
        InputStream is=new FileInputStream("");
        //创建对象流
        ObjectInputStream ois=new ObjectInputStream(is);
        //读取一个对象
        MyObject myObject=(MyObject)ois.readObject();
        System.out.println(myObject.getNameOfObj());
    }
}

原文地址:https://www.cnblogs.com/Unlimited-Rain/p/12569405.html

时间: 2024-11-13 09:59:52

对象序列化——Java面向对象基础(30)的相关文章

【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

[喵"的Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final类,主要用于字符串的处理. 1.1 不可变性 String内的字符串是不可变的,每一次修改都会重新生成一个新的String对象实例. 例: 1 // 在堆中会创建一个"Hello"字符串实例,把地址赋给对象a 2 String a = new String("Hello&

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

【Java面向对象基础(一)】数据类型与运算符

[喵"的Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数据类型 字节数 二进制位数 最小值 最大值 默认值 byte 1 8-bit -2^7 +2^7 - 1 0 short 2 16-bit -2^15 +2^15 - 1 0 int 4 32-bit -2^31 +2^31 - 1 0 long 8 64-bit -2^63 +2^63 - 1 0

java面向对象基础知识

一.面向对象与面向过程的区别: ①所处的角色不同:前者指挥者,后者执行者:②所需知道的事情不同:前者知道哪些是做这些事情的人就可以,不需了解具体的事情操作的过程.后者需要具备应有的技能来做这些事情. 二.面向对象的基本操作过程 指挥者采用面向对象思想,通过创建类,来创建统一的属性值[成员属性]和(做事的)方法[成员方法]. 通过创建的类或者jdk已有的类,来创建具体的对象,属性值明确,方法明确. 举例:创建类 1 package com.oracle.demo02; 2 3 public cla

关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)

JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应的空间 int [] a = new int[100]; 这里开辟了一个空间为100大小的数组,内存分配也完成了. 我们可以在声明的同时也确定元素个数 int [] a = new int[]{1,3,5,7,9}; 面向对象(重点) class Human{ int height; void br

java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系

UML图 UML(Unified Modeling Language Diagram,UML),它是一个结构图,用来描述一个系统的静态结构.一个UML中通常包含类(class)的UML图,接口(Interface)的UML图以及泛化关系(Generalizaiton)的UML图.关联关系(Association)的UML图.依赖关系(Dependency)的UML图和实现关系(Realization)的UML图. 第一层是名字层,如果类的名字是常规字形,表明该类是具体类, 如果类的名字是斜体字形

JAVA面向对象基础问答

请简要写出搭建java开发环境的步骤和java跨平台原理. 答: 搭建开发环境步骤:1.下载安装JDK.2.配置path路径.  Java跨平台原理:java针对不同平台开发了不同版本的JVM,不同平台安装上对应版本的JVM之后  使用java代码编写的程序通过一次编译生成统一的字节码文件,就可以在JVM虚拟机中运行  所以只需开发一套使用java代码编写的程序,就可以在不同平台上进行运行,这就是java跨平台原理. int和Integer都可以代表一个整数,这两者在使用上有什么区别吗?为什么J

java面向对象基础

思想 面向过程:是分析出解决问题所需的步骤,从上往下步步求精,自顶向下的编程,最重要的是模块化思想,考虑实际的实现 优点:性能高 面向对象:以事物为中心,将事物高度抽象为对象,对象包括属性与行为. 优点:易重用.易扩展.易维护.适合大型项目 联系与区别 联系:面向对象也含有面向过程的思想 区别:面向过程是一件事"该怎么做",面向对象是一件事"该让谁来做" 举例 汽车发动  汽车到站 面向过程  汽车发动与汽车到站分别为两个事件,形成两个函数,依次调用 面向对象  关

java面向对象基础复习

this关键字用法: 表示当前对象的引用,即调用成员属性和方法时,表示当前正在调用的对象 调用其他构造方法(必须放在第一行): super关键字 指向自己(直接)父类对象的一个指针,可以调用父类的成员属性和方法 调用父类中的某一个构造函数 面向对象三大特征: 继承 继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力. 子类拥有父类非private的属性和方法 JAVA不支持多继承,继承关系是传递的 父类是子类的一般化,子类是父类的特殊化(具体化) 封装 属性描述