Java中静态代码块执行顺序疑惑
在Java中,静态代码块和类加载过程中的初始化块(default constructor)有所区别。以下是关于它们执行顺序的一些基本理解:
初始化块(默认构造函数):
- 类加载时,会先检查是否有无参的构造方法。
- 如果有,则执行构造方法,此时初始化块也会被执行。
静态代码块:
- 静态代码块是类级别定义的语句块。
- 无论是否创建了该类的对象,静态代码块都会在类加载完成后的任何时间被执行。
总结:静态代码块和默认构造函数的执行顺序通常如下:
- 类加载时检查是否有无参构造方法
- 如果有,则执行构造方法(同时执行初始化块)。
- 静态代码块在任何时间执行。
还没有评论,来说两句吧...