尚硅谷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); // 访问 } |