除了使用new關鍵字,還有什么方法可以創建Java對象呢?


今天來盤點一下除了使用 "new" 關鍵字創建對象,還有什么方法可以創建Java對象呢?

因為是創建對象,所以這里ioc容器不在范圍內

我們先看一下常用的new關鍵字創建

ClassA object = new ClassA();

  

第一種方式就是使用Class.forName()創建對象

 ClassA object = (ClassA) Class.forName("com.demo.ClassA").newInstance(); 

 

第二種方法使用clone()

ClassA objectA = new ClassA(); 
ClassA objectB = objectA.clone();

  

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

ObjectInputStream inStream = new ObjectInputStream(inputStream); 
ClassA object = (ClassA) inStream.readObject();

Tips: Java.io.ObjectOutputStream代表對象輸出流,其方法writeObject(Object obj)可以實現對象的序列化,將得到的字節序列寫到目標輸出流中。Java.io.ObjectInputStream代表對象輸入流,其readObject()方法能從源輸入流中讀取字節序列,將其反序列化為對象,並將其返回。 

 

好了,這幾種就是我了解的創建對象的方法,如果還有其他方法歡迎補充!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM