靜態(tài)代碼塊:在java中使用static關(guān)鍵字聲明的代碼塊。靜態(tài)塊用于初始化類,為類的屬性初始化。每個靜態(tài)代碼塊只會執(zhí)行一次。由于JVM在加載類時會執(zhí)行靜態(tài)代碼塊,所以靜態(tài)代碼塊先于主方法執(zhí)行。
創(chuàng)新互聯(lián)建站專注于鐵山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供鐵山營銷型網(wǎng)站建設(shè),鐵山網(wǎng)站制作、鐵山網(wǎng)頁設(shè)計、鐵山網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造鐵山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鐵山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
執(zhí)行次數(shù)不同 靜態(tài)塊只執(zhí)行一次,初始化塊可以執(zhí)行多次。作用不同 靜態(tài)初始化塊僅能初始化類變量,即static修飾的數(shù)據(jù)成員。非靜態(tài)初始化塊可以初始化類的實(shí)例變量。
構(gòu)造器的執(zhí)行順序是:靜態(tài)代碼塊→代碼塊→構(gòu)造器。再說作用:靜態(tài)代碼塊是用于初始化類的(在加載類時執(zhí)行,只執(zhí)行一次),代碼塊是用于初始化對象的(在創(chuàng)建對象時執(zhí)行,每次創(chuàng)建對象時都執(zhí)行),構(gòu)造器是用于創(chuàng)建對象的。
//構(gòu)造塊:直接在類中定義且沒有加static關(guān)鍵字的代碼塊稱為{}構(gòu)造代碼塊。構(gòu)造代碼塊在創(chuàng)建對象時被調(diào)用,每次創(chuàng)建對象都會被調(diào)用,并且構(gòu)造代碼塊的執(zhí)行次序優(yōu)先于類構(gòu)造函數(shù)。
構(gòu)造代碼塊:是給所有的對象進(jìn)行初始化,也就是說,所有的對象都會調(diào)用一個代碼塊,只要對象一建立,就會調(diào)用這個代碼塊。構(gòu)造函數(shù):是給與之對應(yīng)的對象進(jìn)行初始化,它具有針對性。
普通代碼塊:是最常見的代碼塊,在方法里用一對“{}”括起來的數(shù)據(jù),就是普通的代碼塊,構(gòu)造代碼塊:是在類中直接定義的,用“{}”括起來的代碼。每次調(diào)用構(gòu)造方法前執(zhí)行,都會先執(zhí)行構(gòu)造代碼塊。
靜態(tài)代碼塊在類加載時執(zhí)行,用于初始化類的一些信息。構(gòu)造代碼塊在相應(yīng)構(gòu)造方法被調(diào)用時執(zhí)行,用于對象的初始化。
構(gòu)造器的執(zhí)行順序是:靜態(tài)代碼塊→代碼塊→構(gòu)造器。再說作用:靜態(tài)代碼塊是用于初始化類的(在加載類時執(zhí)行,只執(zhí)行一次),代碼塊是用于初始化對象的(在創(chuàng)建對象時執(zhí)行,每次創(chuàng)建對象時都執(zhí)行),構(gòu)造器是用于創(chuàng)建對象的。
Java靜態(tài)代碼塊的作用:Java靜態(tài)代碼塊中的代碼會在類加載JVM時運(yùn)行,且只被執(zhí)行一次,也就是說這些代碼不需要實(shí)例化類就能夠被調(diào)用。一般情況下,如果有些代碼必須在項(xiàng)目啟動的時候就執(zhí)行的時候,就需要使用靜態(tài)代碼塊。
構(gòu)造函數(shù):執(zhí)行時間比構(gòu)造代碼塊時間晚,也是在對象初始化的時候運(yùn)行。沒有返回值,構(gòu)造函數(shù)名稱和類名一致。構(gòu)造代碼塊:執(zhí)行時間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對象初始化的時候運(yùn)行。
代碼塊有構(gòu)造代碼塊和靜態(tài)代碼塊,靜態(tài)代碼塊是類加載的時候執(zhí)行的,一共只執(zhí)行一次,構(gòu)造代碼塊是創(chuàng)建類對象的時候執(zhí)行的,創(chuàng)建一個對象執(zhí)行一次,代碼塊都是用于初始化的,而構(gòu)造函數(shù)是用于創(chuàng)建對象的。
構(gòu)造代碼塊與構(gòu)造函數(shù)的區(qū)別是:構(gòu)造代碼塊是給所有對象進(jìn)行統(tǒng)一初始化,而構(gòu)造函數(shù)是給對應(yīng)的對象初始化,因?yàn)闃?gòu)造函數(shù)是可以多個的,運(yùn)行哪個構(gòu)造函數(shù)就會建立什么樣的對象,但無論建立哪個對象,都會先執(zhí)行相同的構(gòu)造代碼塊。
構(gòu)造代碼塊:最早運(yùn)行,比構(gòu)造函數(shù)運(yùn)行的時間好要提前,和構(gòu)造函數(shù)一樣,只在對象初始化的時候運(yùn)行。構(gòu)造函數(shù):運(yùn)行時間比構(gòu)造代碼塊時間晚,也是在對象初始化的時候運(yùn)行。沒有返回值,構(gòu)造函數(shù)名稱和類名一致。
靜態(tài)代碼塊、構(gòu)造代碼塊和構(gòu)造函數(shù)的區(qū)別 靜態(tài)代碼塊:用于給類初始化,類加載時就會被加載執(zhí)行,只加載一次。構(gòu)造代碼塊:用于給對象初始化的。只要建立對象該部分就會被執(zhí)行,且優(yōu)先于構(gòu)造函數(shù)。
網(wǎng)頁題目:java構(gòu)造函數(shù)代碼塊 java實(shí)現(xiàn)構(gòu)造函數(shù)
文章源于:http://chinadenli.net/article48/depdpep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作、做網(wǎng)站、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)