1、靜態(tài)代碼塊在類加載時執(zhí)行,用于初始化類的一些信息。構(gòu)造代碼塊在相應(yīng)構(gòu)造方法被調(diào)用時執(zhí)行,用于對象的初始化。
創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、網(wǎng)站制作、成都網(wǎng)站制作、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)網(wǎng)絡(luò)公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風(fēng)格。自公司成立以來曾獨立設(shè)計制作的站點超過千家。
2、構(gòu)造代碼塊:執(zhí)行時間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對象初始化的時候運行。沒有名字、參數(shù)和返回值。靜態(tài)代碼塊:最早執(zhí)行,類被載入內(nèi)存時執(zhí)行,只執(zhí)行一次。沒有名字、參數(shù)和返回值,有關(guān)鍵字static。
3、相同點:每創(chuàng)建一個對象,構(gòu)造代碼塊和構(gòu)造函數(shù)都執(zhí)行一次,不同點:執(zhí)行的順序不同,先執(zhí)行構(gòu)造代碼塊,再執(zhí)行構(gòu)造方法。
4、代碼塊有構(gòu)造代碼塊和靜態(tài)代碼塊,靜態(tài)代碼塊是類加載的時候執(zhí)行的,一共只執(zhí)行一次,構(gòu)造代碼塊是創(chuàng)建類對象的時候執(zhí)行的,創(chuàng)建一個對象執(zhí)行一次,代碼塊都是用于初始化的,而構(gòu)造函數(shù)是用于創(chuàng)建對象的。
構(gòu)造代碼塊:是給所有的對象進行初始化,也就是說,所有的對象都會調(diào)用一個代碼塊,只要對象一建立,就會調(diào)用這個代碼塊。構(gòu)造函數(shù):是給與之對應(yīng)的對象進行初始化,它具有針對性。
Dog() 是與類同名、沒有返回值的方法,也就是構(gòu)造方法。構(gòu)造方法的作用是用來初始化一個對象的。
靜態(tài)代碼塊在類加載時執(zhí)行,用于初始化類的一些信息。構(gòu)造代碼塊在相應(yīng)構(gòu)造方法被調(diào)用時執(zhí)行,用于對象的初始化。
Java靜態(tài)代碼塊的作用:Java靜態(tài)代碼塊中的代碼會在類加載JVM時運行,且只被執(zhí)行一次,也就是說這些代碼不需要實例化類就能夠被調(diào)用。一般情況下,如果有些代碼必須在項目啟動的時候就執(zhí)行的時候,就需要使用靜態(tài)代碼塊。
構(gòu)造器的執(zhí)行順序是:靜態(tài)代碼塊→代碼塊→構(gòu)造器。再說作用:靜態(tài)代碼塊是用于初始化類的(在加載類時執(zhí)行,只執(zhí)行一次),代碼塊是用于初始化對象的(在創(chuàng)建對象時執(zhí)行,每次創(chuàng)建對象時都執(zhí)行),構(gòu)造器是用于創(chuàng)建對象的。
普通代碼塊:是最常見的代碼塊,在方法里用一對“{}”括起來的數(shù)據(jù),就是普通的代碼塊,構(gòu)造代碼塊:是在類中直接定義的,用“{}”括起來的代碼。每次調(diào)用構(gòu)造方法前執(zhí)行,都會先執(zhí)行構(gòu)造代碼塊。
構(gòu)造函數(shù):執(zhí)行時間比構(gòu)造代碼塊時間晚,也是在對象初始化的時候運行。沒有返回值,構(gòu)造函數(shù)名稱和類名一致。構(gòu)造代碼塊:執(zhí)行時間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對象初始化的時候運行。
靜態(tài)代碼塊:在java中使用static關(guān)鍵字聲明的代碼塊。靜態(tài)塊用于初始化類,為類的屬性初始化。每個靜態(tài)代碼塊只會執(zhí)行一次。由于JVM在加載類時會執(zhí)行靜態(tài)代碼塊,所以靜態(tài)代碼塊先于主方法執(zhí)行。
所以理所當(dāng)然的,構(gòu)造代碼塊在構(gòu)造函數(shù)之前執(zhí)行。
先說執(zhí)行順序:我們在new一個對象時,如果類還沒加載,就需要先將類加載到內(nèi)存,此時就會執(zhí)行靜態(tài)代碼塊,在創(chuàng)建對象時,是先執(zhí)行代碼塊,然后執(zhí)行構(gòu)造器。
普通代碼塊:是最常見的代碼塊,在方法里用一對“{}”括起來的數(shù)據(jù),就是普通的代碼塊,構(gòu)造代碼塊:是在類中直接定義的,用“{}”括起來的代碼。每次調(diào)用構(gòu)造方法前執(zhí)行,都會先執(zhí)行構(gòu)造代碼塊。
構(gòu)造函數(shù)用于傳遞或者初始化,如果想要這個類的方法或者變量,必須new初始化。靜態(tài)代碼塊:用于初始化一些操作,例如數(shù)據(jù)庫連接、配置文件讀取等。
分享題目:java構(gòu)造代碼塊作用 構(gòu)造代碼塊和構(gòu)造函數(shù)執(zhí)行順序
文章源于:http://chinadenli.net/article14/degcsge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、建站公司、網(wǎng)站營銷、營銷型網(wǎng)站建設(shè)、外貿(mào)建站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)