new对象时的内存变化:

Student s = new Student();

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

2 在栈内存为s开辟空间

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

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

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

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

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


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