java 静态初始化顺序
时间: 2023-09-26 13:02:41 浏览: 120
java学习之神奇初始化
Java中的静态初始化顺序是指在一个类中,静态成员的初始化顺序。
在Java中,静态成员包括静态变量和静态代码块。静态变量是在类加载的过程中被初始化的,而静态代码块是在类加载时被执行的。
静态初始化顺序遵循以下规则:
1. 静态成员按照代码编写的顺序进行初始化,即先声明的静态成员会先被初始化。
2. 静态代码块在静态变量之后被执行。
例如,假设有一个包含静态变量和静态代码块的类:
```java
public class MyClass {
static int myVar = 10;
static {
System.out.println("Static code block");
}
}
```
在使用该类之前,Java虚拟机会先加载并初始化它。在加载过程中,首先会初始化静态变量`myVar`,然后执行静态代码块中的代码。
因此,输出结果为:
```
Static code block
```
总之,静态初始化顺序是按照静态成员的声明顺序进行初始化的,静态变量在静态代码块之前被初始化。
阅读全文