Java staic block

出自: http://syniii.blog.sohu.com/81538246.html

一个简单的例子,对于了解块很有帮助哦,呵呵~~~

1.所有静态的(无论其是变量还是块)都按顺序执行.

2.所有的非静态的块都在静态的(无论其是变量还是块)后执行.

3.所有的块(无论是静态的还是非静态的)都在构造之前执行.

4.静态块在类被加载到内存后就开始执行

5.非静态块是在创建对象时,构造之前被调用

测试代码:(仅供参考)

public class TestStaticMode
{
public TestStaticMode()
{
System.out.println("in structure");
}
static int i = 0;

{
System.out.println("in first no static i=" + i);
}

static {
i = 1;
System.out.println("in static i=" + i);
}

{
System.out.println("in second no static i=" + i);
}
public static void main(String args[])
{
TestStaticMode testStaticMode = new TestStaticMode();
System.out.println("i=" + i);

}
}

输出为:
in static i=1
in first no static i=1
in second no static i=1
in structure
i=1

你可能感兴趣的:(java,html,Blog)