java面向对象基础-new对象的时候内存变化

350 阅读1分钟

new对象时的内存变化:

Student s = new Student();

1 加载Student类文件到栈内存,开辟空间。

2 在栈内存为s开辟空间

3 在堆内存为Student对象开辟空间

4 给Student的成员变量分配默认值

5 如果成员变量有给定值则用给定值覆盖默认值

6 通过构造方法给成员变量赋值

7 把Student对象在堆内存的地址值赋给s变量

成员变量的初始化在构造函数之前