在Java中,定义数组是为引用还是为对象本身分配空间?

时间:2011-06-09 13:32:37

标签: java arrays memory reference

在下面的代码行中,编译器是否分配内存来存储MyClass的10个对象或10个引用?

MyClass[] arr= new MyClass[10];

换句话说,数组是单独存储引用还是存储对象本身?

此外,原始类型的行为是否不同?

2 个答案:

答案 0 :(得分:5)

它为引用分配空间。在原始类型的情况下,它分配空间=数组长度*基本类型字节大小。

答案 1 :(得分:5)

当像这样创建时,数组会自动使用其类型的默认值进行初始化,因此arr会被初始化为10 null个引用。