类的加载过程
以Person person = new Person();为例进行说明。
- 1、因为new用到了Person.class,所以会先找到Person.class文件,并加载到内存中。
- 2、执行该类中的static代码块(如果有),给Person.class进行初始化
- 3、在堆内存中开辟空间并分配内存地址
- 4、在堆内存中建立对象的特有属性,并进行默认初始化
- 5、对对象的特有属性进行显示初始化
- 6、对对象进行构造代码块初始化
- 7、对对象构造函数进行初始化
- 8、在栈内存中声明Person类型的变量person
- 9、把堆内存中的地址(引用)赋值给栈内存中的person变量