数组在内存中如何分配?最详细解答!看这个就够了!

在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静态的,所以想要使用就必须先初始化(为数组对象的元素分配空间)。

对于Java数组的初始化,有以下两种方式:
1.静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度 ,如:int[] a = {2,4,65}; 。
2.动态初始化:初始化时由程序员显示的指定数组的长度,由系统为数据每个元素分配初始值 ,如: int[] a1 = new int[2];//动态初始化数组,先分配空间。
总结:静态初始化方式,程序员虽然没有指定数组长度,但是系统已经自动帮我们给分配了,而动态初始化方式,程序员虽然没有显示的指定初始化值,但是因为Java数组是引用类型的变量,所以系统也为每个元素分配了初始化值null,当然不同类型的初始化值也是不一样的,假设是基本类型int类型,那么为系统分配的初始化值也是对应的默认值0。

你可能感兴趣的:(数组在内存中如何分配?最详细解答!看这个就够了!)