【发布时间】:2011-09-11 17:20:25
【问题描述】:
在下面这行代码中,编译器是分配内存来存储 10 个 MyClass 对象还是 10 个引用?
MyClass[] arr= new MyClass[10];
换句话说,数组是单独存储引用还是对象本身?
此外,原始类型的行为是否不同?
【问题讨论】:
标签: java arrays memory reference
在下面这行代码中,编译器是分配内存来存储 10 个 MyClass 对象还是 10 个引用?
MyClass[] arr= new MyClass[10];
换句话说,数组是单独存储引用还是对象本身?
此外,原始类型的行为是否不同?
【问题讨论】:
标签: java arrays memory reference
它为引用分配空间。对于原始类型,它分配空间 = 数组长度 * 原始类型字节大小。
【讨论】:
这样创建时,数组会自动使用其类型的默认值进行初始化,因此 arr 会使用 10 个 null 引用进行初始化。
【讨论】: