楼主要仔细研究毕姥爷的数组内存概述,这两行代码恐怕都有错误哦
首先,java内存分5个区,这里用到2个,栈和堆
int [] arr=new int [];//这句话没有明确int元素的个数,
arr只是一个存储int类型的数组的名称,存在于栈
arr[]数组是一个实例,存在于堆,产生时默认类型初始化值,并将首地址赋给栈中的arr
记住,函数中这边用new关键字产生的实例都在堆中待着,产生的同时做了首地址赋值、元素默认初始化、元素显示初始化
int [] arr={"1","2"}//加了双引号就变成字符串啦,不是int类型元素
1,2就是数组里的元素了,数组是存在于堆中的,里面的元素同样在堆中 |