在 Java 中,数组是一种特殊类型的对象。尽管数组的声明和使用方式与普通对象略有不同,但其底层实现完全遵循 Java 对象的内存模型和规则。以下是数组与对象关系的详细解析:
. 数组的本质是对象
-
语法验证:
int[] arr = {1, 2, 3}; System.out.println(arr instanceof Object); // 输出 true
-
所有数组类型(如
int[]
、String[]
)都是Object
类的子类。 -
内存结构:
数组在堆内存中分配空间,包含以下部分:- 对象头:存储类元数据、GC 信息等。
- 长度字段:记录数组长度(
arr.length
)。 - 元素存储区:连续存储实际元素(基本类型或对象引用)。