【发布时间】:2017-11-08 11:45:51
【问题描述】:
我已经初始化了一个类对象数组,我很好奇它们是如何在内存中分配的(堆栈和堆),我从教科书中找到了一段代码,它绘制了下面左侧的内存分配。
我的问题是:为什么内存分配不是我画在右边的那个,在下面的代码中,new Person[]{new Person("Simon", 20)...},new Person 对象会将其内存地址分配给per[0],但是,per[0] 是在执行Person[] per = new Person[3] 时在堆中创建的。
类对象数组的初始化
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
Person[] per = new Person[]{new Person("Simon", 20), new Person("John", 21), new Person("Willy", 22)};
}
}
【问题讨论】:
标签: java arrays object memory memory-management