Java基礎之static及代碼塊分類

static (最經常用於定義工具類)
1:用來定義類的成員變量(類變量),

  1. 1:類變量需要被static修飾,實例變量不需要。
    2:作用域不同,類變量的作用域更大
    3:直接屬於類,所有的類成員在內存中只存在一份,存放在常量池中(而實例變量存在多份,存在堆內存中)
    4:由於其直屬於類,所以可以通過類名直接調用。

    2:用來定義類方法
    類方法也叫做靜態方法,只需要在實例方法上加上static 就是類方法,證明這個方法直接屬於類,可以通過類名直接調用。
    我們調用靜態方法的時候,有可能是沒有創建實例對象的,所以在靜態方法中無法直接訪問實例屬性及方法。
    所有的靜態成員在類被JVM加載的時候都已經存在,所以不需要聲明對象即可調用。
    3.代碼塊分類:
    1:靜態塊
    直接寫在類中,被static修飾,在程序運行期間只會執行一次,在類被加載的時候執行
    2:構造塊
    直接寫在類中,每創建一個對象執行一次。
    3:普通代碼塊
    寫在方法中,一般很少使用,用於解決變量名衝突問題
    4:同步塊
    專門解決多線程問題,被同步塊修飾的代碼作用域同時只能進入一個線程。

static {
		System.out.println("靜態代碼塊,只會執行一次");
	}
	
	 {
		System.out.println("構造代碼塊,每次創建的對象執行一次");
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章