1. 程式人生 > >Java建立物件的四種方法

Java建立物件的四種方法

Java建立有四種方式:

(1)用new 語句建立物件,這是最常用的建立物件方法。

(2)運用反射手段,呼叫java.lang.Class或者java.lang.reflect.Constructor類的newInstance()例項方法。

(3)呼叫物件的clone()方法

(4)運用反序列化手段,呼叫java.io.ObjectInputStream物件的readObject()方法。


1.用new語句建立物件

User user = new User();



2.運用反射機制

根據依賴倒轉原則,實際編碼過程中要針對介面程式設計而不是具體類程式設計。在面向介面程式設計的模式中,經常用此方法來動態建立例項。如從XML配置檔案中獲取具體子類的類名字串subClassName,然後根據獲得的類名字串進行例項化:

Class c = Class.forName(subClassName);

(1)java.lang.Class.newInstance()

User user = (User)c.newInstance();// 不帶引數

(2)java.lang.reflect.Constructor類的newInstance()

               Constructor con = c.getConstructor(String.class);

User user = (User) con.newInstance("name");


3.呼叫物件的clone()方法

clone指克隆

   User user1 = new User(1,"dan");

   User user2 = null;

   user2 = (User) user1.clone();


4.運用反序列化手段

序列化:將物件狀態轉化為可保持或傳輸的格式的過程,被序列化的物件必須implments Serializable

反序列化:將流轉化成物件的過程

當兩個程序在進行遠端通訊時,彼此可以傳送各種型別的資料。無論是何種型別的資料,都會以二進位制序列的形式在網路上傳送。傳送方需要把這個Java物件轉換為位元組序列,即java物件序列,才能在網路上傳送,即序列化過程;接收方則需要把位元組序列再恢復為java物件,即反序列化。