尚硅谷JavaSE基础

5.7 对象数组

5.7.1 对象数组的声明和创建

1. 动态方式

创建方式和基本数据类型的是类似的.

 

引用类型名称[] 数组名 = new 引用类型名称[数组长度];

 

注意 : 此时创建出来的数组对象中的元素都为null

 

对象数组也称为引用数组.

Teacher[] arr = new Teacher [4]; // 共4个元素, 但是每个元素都是null

//arr[0].lesson(); 会出现空指针异常

 

2. 静态方式

① 引用类型名称[] 数组名 = new 引用类型名称[]{引用1, 引用2, 引用3…};

注意 : 右面的[]内不允许出现数组的长度

Teacher t1 = new Teacher();

Teacher t2 = new Teacher();

Teacher t3 = new Teacher();

t1.name = “张一”;

t2.name = “张二”;

t3.name = “张三”;

 

Teacher [] arr = new Teacher [] {t1, t2, t3};

arr[0].lesson(); // 不会出现问题

② 引用类型名称[] 数组名 = {引用1, 引用2, 引用3…};

注意 : 此方式虽然简单, 但是它只能用于声明和创建必须在同一行语句中的情况.

Teacher t1 = new Teacher();

Teacher t2 = new Teacher();

Teacher t3 = new Teacher();

t1.name = “张一”;

t2.name = “张二”;

t3.name = “张三”;

 

Teacher [] arr = {t1, t2, t3};

// arr = {t2, t3}; // 这样不可以

arr[0].lesson(); // 不会出现问题

 

 

 

 

 

 

 

 

5.7.2 对象数组的使用

Teacher[] arr = new Teacher [3]; // 共3个元素, 但是每个元素都是null

 

arr[0] = new Teacher();

arr[1] = new Teacher();

arr[2] = new Teacher();

arr[0].name = “张一”;

arr[1].name = “张二”;

arr[2].name = “张三”;

 

for (Teacher t : arr) {

    System.out.println(t.name); // 访问

}