首頁  >  文章  >  Java  >  java如何實現序列化

java如何實現序列化

(*-*)浩
(*-*)浩原創
2019-11-14 11:47:162571瀏覽

序列化就是一種用來處理物件流的機制,所謂物件流也就是將物件的內容進行流化。

java如何實現序列化

可以對流化後的物件進行讀寫操作,也可將流化後的物件傳送於網路之間。序列化是為了解決物件流讀寫操作時可能引發的問題(如果不進行序列化可能會存在資料亂序的問題)。 (推薦學習:java課程

要實現序列化,需要讓一個類別實作Serializable接口,該接口是一個標識性接口,標註該類別物件是可被序列化的,然後使用一個輸出流來建構一個物件輸出流並透過writeObject(Object obj)方法就​​可以將實現物件寫出(即保存其狀態)

如果需要反序列化則可以用一個輸入流建立物件輸入流,然後透過readObject方法從流中讀取物件。序列化除了能夠實現物件的持久化之外,還能夠用於物件的深度克隆。

為了示範序列化在Java中是怎樣運作的,我將使用先前教學中提到的Employee類,假設我們定義瞭如下的Employee類,該類別實作了Serializable 介面。

public class Employee implements java.io.Serializable
{
   public String name;
   public String address;
   public transient int SSN;
   public int number;
   public void mailCheck()
   {
      System.out.println("Mailing a check to " + name
                           + " " + address);
   }
}

請注意,一個類別的物件要序列化成功,必須滿足兩個條件:

該類別必須實作 java.io.Serializable 介面。

該類別的所有屬性必須是可序列化的。如果有一個屬性不是可序列化的,則該屬性必須註明是短暫的。

如果你想知道一個 Java 標準類別是否是可序列化的,請查看該類別的文件。檢驗一個類別的實例是否能序列化十分簡單, 只需要查看該類別有沒有實作 java.io.Serializable介面。

以上是java如何實現序列化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn