阅读792 返回首页    go 阿里云 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防止表单重复提交