静态代码块静态变量构造方法及构造块执行顺序

Posted itfeng813

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态代码块静态变量构造方法及构造块执行顺序相关的知识,希望对你有一定的参考价值。

静态代码块、静态变量、构造方法及构造块均是在类被加载的时候初始化。

静态块在类被重复调用的时候只会加载一次。

静态代码块和静态变量的执行顺序是按代码先后顺序执行的。

 

 1 package cnom.test.testUtils;
 2 
 3 public class TestStaticLoadSort 
 4 
 5     private static String str = "h";
 6 
 7     public TestStaticLoadSort() 
 8         System.out.println("构造方法.");
 9     
10 
11     static 
12         str += "i";
13         System.out.println("静态块");
14     
15 
16     
17         System.out.println("构造块");
18     
19 
20     public static void main(String[] args) 
21         TestStaticLoadSort tss = new TestStaticLoadSort();
22         System.out.println(tss.str);
23         TestStaticLoadSort tss1 = new TestStaticLoadSort();
24     
25     /**
26      * ===============输出结果=============
27      * 静态块
28      * 构造块
29      * 构造方法.
30      * hi
31      * 构造块
32      * 构造方法.
33      */
34 

总结执行先后顺序为:静态块/静态变量>构造块>构造方法。

 

以上是关于静态代码块静态变量构造方法及构造块执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

关于静态块静态属性构造块构造方法的执行顺序

一文详解:Java中父子类静态块构造块构造方法成员变量之间的初始化先后顺序与执行先后顺序

java类及实例初始化顺序

java类的加载顺序,静态块 非静态块 构造器属性方法等

静态块非静态块(方发体)以及构造方法的执行顺序

Java 构造代码块