标签:
一,数组的初始化
1,数组初始化之后,长度不变,且数组初始化后才可以使用,所谓得初始化,就是为数组对象得元素分配内存空间,并且指定初始值。
2,初始化的两种方式:静态初始化,初始化时显式指定每个数组元素的初始值,由系统决定数组长度。
动态初始化,初始化时,只是指定数组长度,有系统为数组元素分配初始值。
3,java数组变量时引用类型变量,不是数组本身,它时只想堆内存中的数组对象。
例如:
int arr[]
arr=new int[]{1,2,3}
执行int arr[]之后,这是在main()方法栈中定义了一个arr数组变量,是一个引用类型变量,但是并没有指向实际的数
组对象,所以此时还没有使用该数组对象。
当执行第二句以后,系统会根据我们制定的元素决定数组的长度,切长度不可变,在堆内存中创建内容。
所有局部变量都保存在栈内存中,不管是基本类型的变量还是引用类型的变量,都是存储在各自的方法栈中,但是引用类型的变量所引用的对象(包括数组,普通的java对象)则总是储存在堆内存中。
堆内存中的对象通常不容许直接访问,为了访问堆内存中的对象,通常只能通过引用变量。引用变量实际上是一个指针,只要不访问变量的属性,或者调用引用变量来调用方法。使用该对象也是不会出现问题的。
http://www.cnblogs.com/hmiinyu/archive/2012/10/22/2732781.html(数组以及引用类型内存分配)
标签:
原文地址:http://my.oschina.net/u/2480757/blog/515681