Java中静态块 代码块 构造函数的执行顺序

class StaticTest {    public static final int i=0;    static {      // 类被使用的时候,静态块被调用且只调用一次   System.out.println("static");  }    {  // 代码块在实例化一次就会被调用一次   System.out.println("no static");  }    public StaticTest() {      System.out.println("staticTest");  }    public static void method() {   System.out.println("static method");  } }

public class MyStatic {

 public static void main(String[] args) {      StaticTest.method();

  new StaticTest();      new StaticTest();   

 }

}

static


static method   调用静态方法前先调用静态块


no static
staticTest


no static
staticTest

你可能感兴趣的:(Java中静态块 代码块 构造函数的执行顺序)