今天來盤點一下除了使用 "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()方法能從源輸入流中讀取字節序列,將其反序列化為對象,並將其返回。
好了,這幾種就是我了解的創建對象的方法,如果還有其他方法歡迎補充!