有关JAVA数组声明的问题

JAVA中一维数组在分配内存空间之前必须声明吗

是的,而且数组的长度一旦定义就无法改变

数组的四个基本特点:

1.其长度是确定的,数组一旦被创建,它的大小就是不可以改变的
2.其元素必须是相同类型,不允许出现混合类型
数组中的元素可以是任意数据类型,包括基本类型和引用类型
3.数组变量属引用类型数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量
4.数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的


class test{
     int[] arr; // 这种可以不用初始化
    public void useArr() {
         // 但如果你要使用 arr 数组, 则必须先分配内存, 也就是chushihua 
        arr = new int[10]; // 数组一旦为其分配(allocate)了内存空间,则无法直接进行改变
        // 扩容
       int[] newArr = new int[arr.length * 2];
       // 将元数组的值赋值到新数组中
       System.arrayCopy(arr, 0, newArr, 0, arr.length);
       System.out.println(arr.length);
   }
}

是的必须声明,否则分配了内存却不指向那不就再也无法找到,内存泄露了吗