天天看点

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