Java创建对象的方式——反序列化创建对象
生活随笔
收集整理的這篇文章主要介紹了
Java创建对象的方式——反序列化创建对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- Java創建對象的幾種方式
- 反序列化創建對象
- 思路
- 代碼示例
Java創建對象的幾種方式
Java創建對象的方式共有4種。分別為:
1、通過new語句實例化一個對象。
2、通過反射機制創建對象。
3、通過clone()方法創建一個對象。
4、通過反序列化的方式創建對象。
思考:反序列化是怎么創建對象的呢?
反序列化創建對象
思路
反序列化創建對象的過程,需要將流轉換為對象。那么,可以通過序列化,將對象的狀態寫在流里面,根據需要把該流讀取出來重新構造一個相同的對象。
代碼示例
首先創建一個Car類實現Serializable接口,因為所有要實現序列化的類都必須實現Serializable接口。
package test.fanxuliehua;import java.io.Serializable;public class Car implements Serializable {private int height;private String color;public Car(int height, String color) {this.height = height;this.color = color;}@Overridepublic String toString() {return "Car{" +"height=" + height +", color='" + color + '\'' +'}';} }1、通過序列化,將對象的狀態寫在流里面:
先構造一個對象流ObjectOutputStream oss,使用oos的writeObject的方法將實例對象car1的狀態寫到流(字節流文件car1.ser)里面。
2、根據需要把該流讀取出來重新構造一個相同的對象:
先構造一個對象流ObjectInputStream ois讀取字節流文件car1.ser,使用ois的readObject的方法重新構造一個相同的對象car2。
3、執行結果:
car2:Car{height=175, color='白色'}打印結果表明反序列化創建car2成功,且屬性值與car1一致。
總結
以上是生活随笔為你收集整理的Java创建对象的方式——反序列化创建对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 6.2安装mysql_Ce
- 下一篇: 修改Visual Studio类模板注释