四種不同的方法創建java對象

四種不同的方法創建java對象 - 博學而篤志,切問而近思 - 博客頻道 - CSDN.NET


下面有四種不同的方式創建java對象:

(1)  使用關鍵字new

MyObject object = new MyObject(); 

(2)使用Class.forName()

MyObject object = (MyObject) Class.forName("subin.rnd.MyObject").newInstance(); 

(3)使用clone()

MyObject anotherObject = new MyObject();   
MyObject object = anotherObject.clone(); 

(4)運用反序列化手段,調用java.io.ObjectInputStream對象的 readObject()方法。

ObjectInputStream inStream = new ObjectInputStream(anInputStream );   
MyObject object = (MyObject) inStream.readObject(); 

說明:Java 序列化與反序列化

對象序列化(Serializable)是指將對象轉換爲字節序列的過程,而反序列化則是根據字節序列恢復對象的過程。
序列化一般用於以下場景:
1.永久性保存對象,保存對象的字節序列到本地文件中;
2.通過序列化對象在網絡中傳遞對象;
3.通過序列化在進程間傳遞對象。

對象所屬的類必須實現Serializable或是Externalizable接口才能被序列化。對實現了Serializable接口的類,其序列化與反序列化採用默認的序列化方式,Externalizable接口是繼承了Serializable接口的接口,是對Serializable的擴展,實現了Externalizable接口的類完全自己控制序列化與反序列化行爲。 
Java.io.ObjectOutputStream代表對象輸出流,其方法writeObject(Object obj)可以實現對象的序列化,將得到的字節序列寫到目標輸出流中。Java.io.ObjectInputStream代表對象輸入流,其readObject()方法能從源輸入流中讀取字節序列,將其反序列化爲對象,並將其返回。 


參考資料:

http://blog.csdn.net/wuwenxiang91322/article/details/11108039


發佈了29 篇原創文章 · 獲贊 9 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章