作為java開發(fā)者,我們每天創(chuàng)建很多對象,但是我們通常使用依賴注入的方式管理系統(tǒng),比如:Spring去創(chuàng)建對象,然而這里有很多創(chuàng)建對象的方法:使用New關(guān)鍵字、使用Class類的newInstance方法、使用Constructor類的newInstance方法、使用Clone方法、使用反序列化。
Java創(chuàng)建對象的五種方式:
-
使用 new 關(guān)鍵字(最常用):
類名 對象名=new 類名(); ObjectName obj = new ObjectName(); -
使用反射的Class類的newInstance()方法:
類名 對象名=(類名)Class類對象名稱.newInstance(); -
使用反射的Constructor類的newInstance()方法:
ObjectName obj = ObjectName.class.getConstructor.newInstance(); -
使用對象克隆clone()方法:
ObjectName obj = obj.clone(); -
使用反序列化(ObjectInputStream)的readObject()方法:
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE_NAME))) { ObjectName obj = ois.readObject(); }