Java靜態代碼塊的作用:Java靜態代碼塊中的代碼會在類加載JVM時運行,且只被執行一次,也就是說這些代碼不需要實例化類就能夠被調用。一般情況下,如果有些代碼必須在項目啟動的時候就執行的時候,就需要使用靜態代碼塊。
成都創新互聯公司主要從事成都網站制作、做網站、網頁設計、企業做網站、公司建網站等業務。立足成都服務淳安,十年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220
Java靜態代碼塊的用法:一個類可以使用不包含在任何方法體中的靜態代碼塊,當類被載入時,靜態代碼塊被執行,且只被執行一次,靜態塊常用來執行類屬性的初始化。例如:
static
{
int
a=0;
}
靜態初始化塊:當類第一次加載時執行。
非靜態初始化塊:非靜態初始化塊會在構造函數執行時,且在構造函數主體代碼執行之前被執行。
區別如下:
1、執行次數不同
靜態塊只執行一次,初始化塊可以執行多次。
2、作用不同
靜態初始化塊僅能初始化類變量,即static修飾的數據成員。
非靜態初始化塊可以初始化類的實例變量。
擴展資料:
使用Java靜態代碼塊注意事項:
1、它是隨著類的加載而執行,只執行一次,并優先于主函數。具體說,靜態代碼塊是由類調用的。類調用時,先執行靜態代碼塊,然后才執行主函數的。
2、靜態代碼塊其實就是給類初始化的,而構造代碼塊是給對象初始化的。
3、靜態代碼塊中的變量是局部變量,與普通函數中的局部變量性質沒有區別。
4、一個類中可以有多個靜態代碼塊。
5、對于靜態變量、靜態初始化塊、變量、初始化塊、構造器,它們的初始化順序依次是(靜態變量、靜態初始化塊)(變量、初始化塊)構造器。
靜態代碼塊:只要一用到某個類,那么這個類的靜態代碼塊就先執行,比如:
public class Dog(){
int i = 0;
static {
i = 1;
}
public Dog(){
i = 2;
}
}當你new 一個Dog()對象時,首先i=
1 會執行,然后才執行
public Dog(){}這個方法。
pulic
Dog() 是與類同名、沒有返回值的方法,也就是構造方法。
構造方法的作用是用來初始化一個對象的。比如你可以在里面寫
i
=
2;
那么當你 Dog
d
=
new
Dog()執行這段代碼的時候,是這樣的:
首先
i
=
;
然后執行static 靜態代碼塊,此時i=
1;
最后執行public
Dog();
i
=
2;
當前名稱:java靜態代碼塊的理解 JAVA靜態塊
URL分享:http://vcdvsql.cn/article8/hhhoop.html
成都網站建設公司_創新互聯,為您提供云服務器、標簽優化、網站建設、外貿建站、電子商務、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯