• java中静态初始化块的执行顺序


    在java中,其应该是先于所有的方法执行。

    下面是测试代码:

     1 public class Test1 {
     2   static{
     3    System.out.println("执行静态初始化块test1...");
     4   }
     5   {
     6     System.out.println("执行初始化块test1");
     7   }
     8   public Test1(){
     9     System.out.println("执行test1构造函数");
    10   }
    11 }
    12 
    13  
    14 
    15 public class Test2 extends Test1{
    16   static{
    17    System.out.println("执行静态初始化块test2...");
    18  }
    19  {
    20   System.out.println("执行初始化块test2");
    21  }
    22  public Test2(){
    23   System.out.println("执行test2构造函数");
    24  }
    25 }
    26 
    27  
    28 
    29 public class Test3 extends Test2{
    30    static{
    31       System.out.println("执行静态初始化块test3...");
    32    }
    33    {
    34      System.out.println("执行初始化块test3");
    35    }
    36    public Test3(){
    37      System.out.println("执行test3构造函数");
    38    }
    39 }
    40 
    41  
    42 
    43 ----------------------------------------------------------------------------------------------------
    44 
    45 public class Test {
    46     public static void main(String[] args){
    47         Test3 t = new Test3();
    48     }
    49 }

    运行结果如图:

    从结果即可看出,静态初始化块的执行顺序十分靠前,并且在静态初始化块之间,谁在程序的前面谁先执行。

  • 相关阅读:
    Oracle ASH报告生成和性能分析
    Oracle AWR报告生成和性能分析
    oracle和mysql批量合并对比
    Oracle
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
  • 原文地址:https://www.cnblogs.com/wushenjiang/p/11673895.html
Copyright © 2020-2023  润新知