数组的内存分析和数组的三种初始化
画图演示
由于数组本身就是对象,所以数组的内存分析,就是 Java中的对象内存分析!!!
数组的三种初始化
- 静态初始化
- 动态初始化
- 默认初始化
package com.liu.array;
public class ArrayDemo02 {
public static void main(String[] args) {
//静态初始化 创建 + 赋值
int[] nums = {1,2,3,4,5,6,7,8};
//动态初始化 : 包含默认初始化
int[] nums1 = new int[10];
//默认初始化
int[] nums2; //声明数组
nums2 = new int[10]; //创建空间 不对数组进行赋值,数组也是有值的,int类型是0,String类型是null
System.out.println(nums2[0]);
}
}
数组的四个特点
- 数组的长度是确定的,数组一旦被创建,它的大小是不可以被改变的
- 数组的元素必须是相同类型,不可以混合类型
- 数组的元素可以是任何类型,包含基本类型和引用类型
- 数组变量属于引用变量,数组也可以看成是对象,数组中的元素也可以看成是该对象的成员变量
数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的