Java中代码块执行顺序

情况一

  public class Test {
    Test() {
      System.out.println("构造函数");
    }

    public void run() {
      {
        System.out.println("普通代码块1");
      }
      System.out.println("run方法");
      {
        System.out.println("普通代码块2");
      }

    }
  }
  

run调用时顺序执行:
普通代码块1
run方法
普通代码块2

情况二


  public class Test {
    Test() {
      System.out.println("构造函数");
    }
    {
      System.out.println("构造代码块1");
    }
    {
      System.out.println("构造代码块2");
    }
  }
  

新建对象时调用顺序:
构造代码块1
构造代码块2
构造函数

情况三

  public class Test {
    Test() {
      System.out.println("构造函数");
    }
    {
      System.out.println("构造代码块");
    }
    static{
      System.out.println("静态代码块");
    }
  }
  

新建对象时调用顺序:
静态代码块
构造代码块
构造函数

发布了115 篇原创文章 · 获赞 29 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/SoftpaseFar/article/details/105142124