public class test { //1.第一步,准备加载类
public static void main(String[] args) {
new test(); //4.第四步,new一个类,但在new之前要处理匿名代码块
}
static int num = 4; //2.第二步,静态变量和静态代码块的加载顺序由编写先后决定
{
num += 3;
System.out.println("b"); //5.第五步,按照顺序加载匿名代码块,代码块中有打印
}
int a = 5; //6.第六步,按照顺序加载变量
{ // 成员变量第三个
System.out.println("c"); //7.第七步,按照顺序打印c
}
test() { // 类的构造函数,第四个加载
System.out.println(
面试题--JAVA中静态块、静态变量加载顺序详解
本文详细介绍了Java中静态块和静态变量的加载顺序:首先加载静态块和静态变量,然后是成员变量,接着是构造方法。静态方法在调用时才执行。在类首次加载时,会按照父类的静态块、静态变量,子类的静态块、静态变量,父类的实例变量初始化、构造方法,子类的实例变量初始化和构造方法的顺序执行。如果类已被加载,静态部分不再重复执行。
摘要由CSDN通过智能技术生成