美文网首页
2020-09-17Java学习日报

2020-09-17Java学习日报

作者: Eli_hu | 来源:发表于2020-09-17 21:53 被阅读0次

学习资料:B站尚硅谷课程day11.2  专注学习时间:4h5min

学习内容如下:

项目二:  客户信息管理软件

以下是对核心代码的内存解析

CustomerList类中一个属性customers是数组,是个引用类型,不是null就是地址值,默认是null,通过以下方式创建对象后,null就变为地址值,栈空间中customers的地址就指向堆空间中new出来的引用对象的地址,引用对象的地址再指向一个长度为10的数组,且数组中的值都为null.

构造器中给customers进行初始化,在别的类中new一个CustomerList对象并调用这个构造器时,就会在堆空间中创建,例如:

此时,就创建了一个长度为10的数组

类似代码内存分析图如下:

上图后两句代码分析如下:

在堆空间中new一个Customer对象,赋给上述方法中的形参,形参的地址再赋给数组指定位置上的变量(customers[total]=customer;)数组相应位置上的null就不存在,变为形参传过来的地址值,指向new出来的对象,其中三个实参赋给相应的属性,total++,total就从0变为1,最后一句代码类似

修改信息操作:

相关文章

网友评论

      本文标题:2020-09-17Java学习日报

      本文链接:https://www.haomeiwen.com/subject/klmryktx.html