天天看點

使用Serializable實作類對象序列化能力 | 帶你學《Java語言進階特性》之六十九

上一篇:使用Scanner類完成資料輸入 | 帶你學《Java語言進階特性》之六十八

在這個處處充斥着網際網路資訊的世界,無時無刻都在發生着資訊、資料的傳遞,為了高效的、準确的使發送端和接收端之間能夠正确識别資料内容,本節将介紹對象序列化接口Serializable的相關内容。

【本節目标】

通過閱讀本節内容,你将了解到對象序列化接口Serializable的基本原理、作用及其實作方法,能夠通過實作Serializable接口聲明類對象的序列化能力。

幾乎隻要是Java開發,就一定會存在有序列化的概念,而正是因為序列化的概念逐漸發展,慢慢也有了更多的序列化标準。

序列化基本定義

所謂的對象序列化指的是将記憶體中儲存的對象以二進制資料流的形式進行處理,可以實作對象的儲存或者網絡傳輸。

使用Serializable實作類對象序列化能力 | 帶你學《Java語言進階特性》之六十九

對象序列化

然而并不是所有的對象都可以被序列化,在Java裡面有一個強制性的要求:如果要序列化的對象,那麼這個對象所在的類一定要實作java.io.Serializable父接口,作為序列化的标記,這個接口并沒有任何的方法,因為它描述的是一種類的能力。

範例:定義一個可以被序列化的類

import java.io.Serializable;
@SuppressWarnings("serial")
class Person implements Serializable {  //Person類可以被序列化
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //setter、getter略
    @Override
    public String toString() {
        return "姓名:" + this.name + "、年齡:" + this.age;
    }
}           

此時Person類産生的每一個對象都可以實作二進制的資料傳輸,屬于可以被序列化的程式類。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:教你快速實作類對象的序列化/反序列化 | 帶你學《Java語言進階特性》之七十 更多Java面向對象程式設計文章檢視此處