1, 存储基本类型也可存储对象引用,但是所有元素必须是同一类型
2, 线形结构,同时也是限长结构,使用时要做越界检查,否则越界后JVM要抛出exception;由于其是限长结构不能动态增长,所以就有了list,arraylist,vector等
3, 数组只有唯一的属性length,所以初始化数组时要么指定长度length,如 Obj [] a =new Object[8]; 要么直接初始化是内容,如Obj [] a = new Obj[]{new Obj(), new Obj()}; 总而言之,初始化length必须清楚,所以不能用变量作为初始化长度的值。
比如下面的初始化是不合法的。
Obj[] a= new Obj[];//长度未知
4, 对象数组初始化后如果如果没有给内部元素赋值,一般都会自动赋为null,如果是基本数据类型就会自动赋为0, Boolean 类型赋为false
5, 数组对象饮用可以互相赋值,如果数组类型一样的话,如下:
Obj [] a = new Obj[5];
Obj [] b = a;
6, 继承于Collection的容器类只能保存对象引用,而数组不仅可以保存对象引用,同时也可以保存基本数据类型
7, Java中允许返回一个数组,即声明定义的数组可以作为返回值返回,但是c/c++中不能做到,它们只是返回一个数组指针。