程序运行对象加载流程

程序运行对象加载流程(图解)

public class DemoTest {

    public static void main(String[] args) {
        Demo d = new Demo();
    }
}

class Demo {
    int a;
    int num = 10;
    static int value = 100;
    static Demo d = new Demo();

    static {
        System.out.println("静态代码快value =" + value);
    }

    {
        System.out.println("构造代码块num =" + num);
        System.out.println("构造代码块a =" + a);
        System.out.println("构造代码块value =" + value);
        a = 50;
    }

    Demo() {
        // super找父类,成员变量显示初始化,构造代码块执行
        System.out.println("构造方法num =" + num);
        System.out.println("构造方法a =" + a);
        System.out.println("构造方法value =" + value);
    }
}

对象创建流程图:
程序运行对象加载流程_第1张图片

运行结果分析:
程序运行对象加载流程_第2张图片

你可能感兴趣的:(java基础,java)