在**中,有時候會遇到這種情況,
static
以及不帶static的情況:
public class staticblock
//非靜態塊
public static void main(string args)
}}
列印出來的結果是:
這是靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
這是非靜態塊裡的內容!
如果大家對 static
這個關鍵字的含義有所理解的話,這裡就很清楚不過了。在上面的靜態塊裡的內容是在類載入的時候執行,所以上面的靜態塊裡的內容只執行一次。而非靜態塊裡的內容是在物件初始化的時候執行,所以執行了10次。
靜態塊(變數)和非靜態塊(變數)
package staticinit.one public class main1 class staticorinstance static public staticorinstance class mug public mug int i 注 1.在類初始化時,先初始化靜態塊或變數,再初始化非...
JAVA靜態塊和非靜態塊的區別
靜態塊 static block 如下所示 public class staticblock1 public static void main string args 靜態塊是在類被呼叫到記憶體後開始執行的,它和建立物件或main方法都沒有關係。如果沒有 main 方法,程式仍然編譯成功,但執行錯誤...
JAVA靜態塊和非靜態塊的區別
靜態塊是在類被呼叫到記憶體後開始執行的,它和建立物件或main方法都沒有關係。如果沒有 main 方法,程式仍然編譯成功,但執行錯誤。靜態塊一般用於初始化類中的靜態成員,而非晶態塊一般用於初始化類中的非靜態成員。另外,非靜態塊是在建立物件時自動執行的 public class staticblock...