关于Java中代码的执行顺序

2023-07-29,,

结论

注意 只有显式的加载类 JVM才会加载到内存中

先加载父类的静态代码块 然后执行子类静态代码块
当前类存在类静态变量注意引用类型没进行赋值操作初始化为null 并不会显式的加载类又存在静态代码块 会先执行前者进行初始化 再执行静态代码块
在实例化类的时候 执行顺序 构造代码块-->构造方法存在父类先执行父类
注意 静态成员变量/静态代码块只在JVM运行时 类加载到内存的时候执行一次

public class Test {
static B b=new B(); //这里存在实例 会加载类B 类A
A a =new A();
static {
System.out.println("test static");
}
public Test(){
System.out.println("test constructor");
}
{
System.out.println("test module");
} public static void main(String[] args) {
//A1-->B1-->A2-->A3-->B2-->B3-->TEST STATIC
}
}
class A{
static {
System.out.println("A1");
}
{
System.out.println("A2");
}
public A(){
System.out.println("A3");
}
}
class B extends A{
static {
System.out.println("B1");
}
{
System.out.println("B2");
}
public B(){
System.out.println("B3");
}
}

关于Java中代码的执行顺序的相关教程结束。

《关于Java中代码的执行顺序.doc》

下载本文的Word格式文档,以方便收藏与打印。