簡述java創(chuàng)建對(duì)象的幾種方式

簡述java創(chuàng)建對(duì)象的幾種方式

長沙一度軟件培訓(xùn)      2022-03-25 22:50:01     8

簡述java創(chuàng)建對(duì)象的幾種方式,今天長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹java創(chuàng)建對(duì)象的幾種方式,希望通過此文大家能夠掌握java創(chuàng)建對(duì)象的方式,下面就

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

    今天長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹“java創(chuàng)建對(duì)象的幾種方式”,希望通過此文大家能夠掌握java創(chuàng)建對(duì)象的方式,下面就隨小編一起來了解一下java創(chuàng)建對(duì)象的幾種方式分別是哪些?

  1、使用new關(guān)鍵字

  這是我們最常見的也是最簡單的創(chuàng)建對(duì)象的方式,通過這種方式我們還可以調(diào)用任意的夠贊函數(shù)(無參的和有參的)。

  比如:Student student = new Student();

  2、使用Class類的newInstance方法

  這個(gè)newInstance方法調(diào)用無參的構(gòu)造器創(chuàng)建對(duì)象,

  如:Student student2 = (Student)Class.forName("根路徑.Student").newInstance();

  或者:Student stu = Student.class.newInstance();

  3、使用Constructor類的newInstance方法

  本方法和Class類的newInstance方法很像,java.lang.relect.Constructor類里也有一個(gè)newInstance方法可以創(chuàng)建對(duì)象。我們可以通過這個(gè)newInstance方法調(diào)用有參數(shù)的和私有的構(gòu)造函數(shù)。

  如: Constructor constructor = Student.class.getInstance(); Student stu = constructor.newInstance();

  這兩種newInstance的方法就是大家所說的反射,事實(shí)上Class的newInstance方法內(nèi)部調(diào)用Constructor的newInstance方法。

  這也是眾多框架Spring、Hibernate、Struts等使用后者的原因。

  4、使用clone方法

  論何時(shí)我們調(diào)用一個(gè)對(duì)象的clone方法,JVM就會(huì)創(chuàng)建一個(gè)新的對(duì)象,將前面的對(duì)象的內(nèi)容全部拷貝進(jìn)去,用clone方法創(chuàng)建對(duì)象并不會(huì)調(diào)用任何構(gòu)造函數(shù)。要使用clone方法,我們必須先實(shí)現(xiàn)Cloneable接口并實(shí)現(xiàn)其定義的clone方法。

  如:Student stu2 = stu.clone();

  這也是原型模式的應(yīng)用。

  5、使用反序列化

  當(dāng)我們序列化和反序列化一個(gè)對(duì)象,JVM會(huì)給我們創(chuàng)建一個(gè)單獨(dú)的對(duì)象,在反序列化時(shí),JVM創(chuàng)建對(duì)象并不會(huì)調(diào)用任何構(gòu)造函數(shù)。為了反序列化一個(gè)對(duì)象,我們需要讓我們的類實(shí)現(xiàn)Serializable接口。

  如:ObjectInputStream in = new ObjectInputStream (new FileInputStream("data.obj")); Student stu3 = (Student)in.readObject();

以上就是長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)小編介紹的“java創(chuàng)建對(duì)象的幾種方式”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。

相關(guān)免費(fèi)視頻教程推薦

java自學(xué)視頻教程下載——如何創(chuàng)建多個(gè)對(duì)象:http://www.bjpowernode.com/xiazai/2643.html

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。