java 成员变量在内存中的存储过程

上面代码的运行结果:

1). 首先看第三行:

Person p01 = new Person();

等号左边创建类"Person"的一个变量"p01"(在内存的栈空间中创建一个“p01”):

等号右边会在堆空间中开辟一块区域来存放“p01”的,并且把地址传给“p01”:

目前类中的成员变量初始值都是默认值:1. byte/short/long/int类型的默认值为“0”;2. char类型的默认值为“空格”;

                                     3.boolean类型的默认值为“false”;4. 引用类型的默认值都为“null”;

2).  所以第四、五行代码输出的都是默认值

3). 第六行输出的是p01这个对象的地址

4). 第七行到第九行代码给三个成员变量赋值

5). 第十二行到第十三行输出新赋值过后的年龄姓名性别

6). 第十四行输出的地址跟第六行输出的地址是一样的,说明地址不随赋值的变化而变化

原文地址:https://www.cnblogs.com/njuptlwh/p/5106055.html