Loading

Java对象的实例化过程

简单类对象的实例化过程:

  1. 在方法区加载类

  2. 在栈内存申请空间,声明变量P

  3. 在堆内存中开辟空间,分配对象地址

  4. 在对象空间中,对对象的属性进行默认初始化,类成员变量显示初始化

  5. 构造方法进栈,进行初始化

  6. 初始化完成后,将堆内存中的地址赋给引用变量,构造方法出栈

简单类对象的实例化过程


子类对象的实例化过程:

  1. 在方法区先加载父类,再加载子类

  2. 在栈中申请空间,声明变量P

  3. 在堆内存中开辟空间,分配对象地址

  4. 在对象空间中,对对象的属性(包括父类的属性)进行默认初始化

  5. 子类构造方法进栈

  6. 显示初始化父类的属性

  7. 父类构造方法进栈,执行完毕出栈

  8. 显示初始化子类的属性

  9. 初始化完毕后,将堆内存中的地址值赋给引用变量P,子类构造方法出栈

子类对象的实例化过程

posted @ 2020-07-17 00:24  Schieber  阅读(969)  评论(0编辑  收藏  举报