JVM——对象实例化的过程 1、在方法区找该类的信息,如果没找到,进行类的初始化,请参考:类的加载。 2、计算对象所需的大小,属性的大小,包含其父类(实例化对象前要先实例化其父类对象) 3、开辟空间初始化属性,赋予0值(包括其父类) 4、进行属性初始化,定义时初始化>代码块>构造方法。 顺序在运行时不能改变,进行初始化的前提是已经在堆中为对象分配好内存并将属性赋予初始值0x0 由于Java的编译器是按行读,编译期间是不能在前面引用后面代码的值,使用了未经定义的变量。 对象实例化的详情请参考:对象实例化