静态代码块与静态变量是在类加载的时候被载入内存,执行顺序按代码顺序来执行,且只执行一次;构造代码块与构造方法是在创建对象的时候执行,一般是慢于静态代码块。
class StaticTest{
public static void main(String[] args) {
staticFunction();
}
static StaticTest st=new StaticTest();
static {
System.out.println("1");
}
{
System.out.println("2");
}
StaticTest(){
System.out.println("3");
System.out.println("a="+a+"b="+b);
}
public static void staticFunction() {
System.out.println("4");
}
int a=110;
static int b=112;
}
结果: