1 数组初始化
java数组是静态的,所以当数组被初始化后,数组所占的内存空间、数组长度都是不可变的。数组要经过初始化才能被使用,即创建市级的数组对象,在内存中为数组对象分配内存空间,每个数组元素指定初始值。
数组初始化有两种方式:
(1)静态初始化:
制定数组元素初始值,由系统决定数组长度
String[] s = new String[]
{
"a","b,"c"
}
(2)动态初始化:
指定数组长度,系统为数组元素分配初始值
String[] s = new String[5]
数组变量是一种引用类型的变量,数组变量并不是数组本身,是指向堆内存的数组对象。当数组对象没有引用变量来引用该数组时,该数组对象将会变成垃圾,等着垃圾回收机制来回收。
在使用java数组之前先进行初始化,数组变量是一个引用变量,数组对象是保存在堆内存中的连续内存空间,对数组进行初始化不是对数组变量进行初始化,而是在堆内存中创建数组对象, 所有对于数组变量,本身不需要进行初始化,只要让数组变量指向一个有效的数组对象,就可以使用该数组变量了。
引用变量本质上是一个指针, 只要程序通过引用变量访问属性,或者通过引用变量来调用方法,该引用变量会由它所引用的对象代替
基本类型数组:
引用类型数组:
引用类型数组的数组元素其实就是一个引用类型的变量,可以指向任何有效的内存。
对于main方法中申明的局部变量,都是放在栈内存中保存,假如是基本类型的变量,值也是保存在栈内存中,但引用类型的变量所引用的对象则总是存储在堆内存中。