天天看點

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);

 }

  test5.a = 4;

 public static void main(string[] args) {

  // todo 自動生成方法存根

  test5.a = 5;

 public void f() {

  system.out.println("hhahhahah");

}

運作結果:

3

hhahhahah

1000

4

5

利用靜态代碼塊可以對一些static變量進行指派,最後再看一眼這些例子,都一個static的main方法,這樣jvm在運作main方法的時候可以直接調用而不用建立執行個體。

原帖位址:http://lxmgfd.iteye.com/blog/1507451