私有静态方法执行完之后,执行静态代码块,接着执行final实例方法实例化,然后执行非静态代码块,最后执行构造器的初始化
public class A{
int count;
int count3=count2();
int count5=count1();
A(){
System.out.println("构造器");
}
static{
System.out.println("静态代码块");
}
{
System.out.println("非静态代码块");
}
private static int count1(){
System.out.println("私有静态方法");
return 1;
}
private final static int count2(){
System.out.println("final实例方法");
return 5;
}
}
test:
public class Demo {
public static void main(String[] args) {
A a =new A();//这里是静态代码块 调用是构造器进行初始化
}
}
result:
静态代码块
final实例方法
私有静态方法
非静态代码块
构造器
本文详细解析了Java类加载过程中的各个阶段,包括私有静态方法的执行、静态代码块的运行、final实例方法的实例化、非静态代码块的执行以及构造器的初始化过程。通过具体的代码示例,展示了这些不同部分的执行顺序。
2万+

被折叠的 条评论
为什么被折叠?



