我初始化了一个类对象数组,我很好奇它们是如何在内存中分配的(堆栈和堆),我从教科书中找到了一段代码,它绘制了下面左侧的内存分配。
我的问题是:为什么内存分配不是我在右侧绘制的内容,在下面的代码中,new Person[]{new Person("Simon", 20)...}
,{{1 object会将其内存地址分配给new Person
,但是,per[0]
在执行per[0]
时会在堆中创建。
类对象数组的初始化
Person[] per = new Person[3]
答案 0 :(得分:1)
为什么内存分配不是我在右边画的那个,
它位于右侧,但如果您要使用值
per
或
per[0]
该引用将被带入堆栈。