1、为什么在面向对象中介绍数组呢?因为数组也是一个对象
2、声明数组的时候
(1)推荐使用 char []a
;
数组元素类型 [] 数组变量名;
(2)在java中,生成数组的时候,是动态分配内存的,声明的时候不能指定数组大小。
3、数组的创建和初始化
如果已经new之后,没有赋初值的话,整形数组自动赋初值为0,double类型自动赋初值为0.0,String类型自动赋初值为null
4、实例1:
第一句话执行完之后,栈中的s指向堆中的一个对象,这个对象有两个元素,每一个元素都是Student类型的引用,而不是Student类型的对象,这个引用当前没有赋初值,所以默认初始化为null ,如果是类类型的数组的话,动态初始化的时候,在数组每一个位置上生成的是一个该类类型引用。
第二句话是,在堆中生成一个新的学生对象出来,赋值给s[0],这个时候s[0]就有值了,指的是这个对象的逻辑地址。