程序运行对象加载流程(图解)
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);
}
}
对象创建流程图:
运行结果分析: