1 問(wèn)題
作為Java開(kāi)發(fā)者,經(jīng)常創(chuàng)建很多對(duì)象,你是否知道Java中創(chuàng)建對(duì)象有哪些方式呢?
2 方法
(1)new關(guān)鍵字
使用new關(guān)鍵字創(chuàng)建對(duì)象,是最常見(jiàn)也是最簡(jiǎn)單的創(chuàng)建對(duì)象的方式。
(2)Class.newInstance
Class類的Class.newInstance使用的是類的public的無(wú)參數(shù)構(gòu)造方法。
(3)Constructor.newInstance
我們可以通過(guò)這個(gè)newInstance方法調(diào)用有參數(shù)的和私有的構(gòu)造函數(shù)。
(4)Clone
無(wú)論何時(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ù)。
(5)反序列化
當(dāng)我們序列化和反序列化一個(gè)對(duì)象,JVM會(huì)給我們創(chuàng)建一個(gè)單獨(dú)的對(duì)象。在反序列化時(shí),JVM創(chuàng)建對(duì)象并不會(huì)調(diào)用任何構(gòu)造函數(shù)。
目前我們所學(xué)的內(nèi)容中,對(duì)new關(guān)鍵字方法有了一些具體的掌握,舉例如下:
Scanner s = new Scanner(System.in);應(yīng)用new創(chuàng)建對(duì)象,進(jìn)行對(duì)象的實(shí)例化
import java.util.Scanner; public class Test03 { public static void main(String[] args){ Scanner s = new Scanner(System.in); System.out.println("Please input your score:"); int score = s.nextInt(); String b; if(score >= 85) b = "A"; else b = "D"; System.out.println(b); } } |
3 結(jié)語(yǔ)
針對(duì)創(chuàng)建對(duì)象的方法的問(wèn)題,我們一共找到了5種方法,本次著重探討new關(guān)鍵字創(chuàng)建對(duì)象的方法,通過(guò)在idea上大量地實(shí)驗(yàn),證明該方法是有效的。使用new關(guān)鍵字創(chuàng)建對(duì)象是最常見(jiàn)也是最簡(jiǎn)單的方式,通過(guò)這種方式可以調(diào)用任意的構(gòu)造器。后面將繼續(xù)對(duì)其他四種方法進(jìn)行詳細(xì)學(xué)習(xí)并整理。
-
JAVA
+關(guān)注
關(guān)注
20文章
2983瀏覽量
106467 -
開(kāi)發(fā)
+關(guān)注
關(guān)注
0文章
371瀏覽量
41240
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何用java映射創(chuàng)建java對(duì)象和調(diào)用java對(duì)象呢
如何用java映射創(chuàng)建java對(duì)象和調(diào)用java對(duì)象的方法
Java對(duì)象的生命周期
JAVA教程之存儲(chǔ)與讀取對(duì)象
JAVA教程之創(chuàng)建與刪除數(shù)據(jù)庫(kù)中的表
java如何創(chuàng)建對(duì)象的分析
實(shí)例分析Java中創(chuàng)建對(duì)象
Java創(chuàng)建數(shù)組的幾種方式及區(qū)別
JavaScript創(chuàng)建對(duì)象的方式

在JavaScript中動(dòng)態(tài)的創(chuàng)建QML對(duì)象
Java反射技術(shù)實(shí)現(xiàn)對(duì)象的創(chuàng)建

Java中的對(duì)象一定在堆中分配嗎

評(píng)論