閱讀792 返回首頁    go 技術社區[雲棲]


static代碼塊


static代碼塊也叫靜態代碼塊,是在類中獨立於類成員的static語句塊,可以有多個,位置可以隨便放,它不在任何的方法體內,JVM加載類時會執行這些靜態的代碼塊。

如果static代碼塊有多個,JVM將按照它們在類中出現的先後順序依次執行它們,每個代碼塊隻會被執行一次。看例子:

 

public class Test5 {
 private static int a;
 private int b;

 static {
  Test5.a = 3;
  System.out.println(a);
  Test5 t = new Test5();
  t.f();
  t.b = 1000;
  System.out.println(t.b);
 }

 static {
  Test5.a = 4;
  System.out.println(a);
 }

 public static void main(String[] args) {
  // TODO 自動生成方法存根
 }

 static {
  Test5.a = 5;
  System.out.println(a);
 }

 public void f() {
  System.out.println("hhahhahah");
 }
}


運行結果:

3
hhahhahah
1000
4
5

 

利用靜態代碼塊可以對一些static變量進行賦值,最後再看一眼這些例子,都一個static的main方法,這樣JVM在運行main方法的時候可以直接調用而不用創建實例。


原帖地址:https://lxmgfd.iteye.com/blog/1507451

 

最後更新:2017-04-02 17:51:26

  上一篇:go Java讀寫文件中避免中文亂碼
  下一篇:go Struts2防止表單重複提交