学习资料: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,最后一句代码类似
修改信息操作:
网友评论