基本类型数组的初始化
public class Test
{
public static void main(String[] args)
{
int[] iArr;
iArr=new int[1,2,3,4];
}
}
执行int[]iArr代码后,系统会在栈中定义一个iArr数组变量,它是一个引用类型的变量,并未指向任何有效的内存,没有指向实际的数组对象。
执行iArr=new int[1,2,3,4]代码后,系统在堆内存中创建了一个长度为4的数组对象,刚才栈中的变量指向这个数组对象。
所有局部变量都是放在栈内存里保存的,不管其是基本类型的还是引用类型的变量,都是存储在各自的方法栈区中;但引用类型变量所引用的对象则总是存储在堆内存中。
Java语言中,堆内存中的对象通常不能直接访问,为了访问它们,通常只能通过引用变量。
引用变量实质上只是一个指针,只要程序通过引用变量访问属性,或者是调用方法,该引用变量将会由它所引用的对象代替。