-
8.(单选题)请看下列代码编译和运行的结果是:()。
1
public
class
Teacher {
2
private
String name=
"sun"
;
3
public
static
void
main(String[] args) {
4
Teacher[] teachers=
new
Teacher[
2
];
5
System.out.println(teachers[
0
].name);
6
System.out.println(teachers.length);
7
}
8
}
- A.sun 2
- B.null 2
- C.null 1
- D.运行时抛出NullPointerException异常
正确答案:D
解析:本题考查引用类型数组。 所谓引用类型数组,是数组的元素不是基本类型,而是引用类型。引用类型数组的初始化和基本类型数组的初始化方式一样,只不过元素是引用而已。但需要注意: 基本类型数组元素的默认初始值为具体值(例如,int类型数组的元素默认初始值为0);而引用数组创建后,其元素的默认值为null, 不创建元素对象。 本题中,Teacher类型作为数组的元素的类型,数组teachers创建后,数组teachers中的每一个元素的值为null,即数组元素为{null,null},例如题目中的teachers[0]这个数组元素的默认值为null,通过它去访问属性或方法会抛出NullPointerException异常。
引用类型数组初始化
最新推荐文章于 2022-02-16 00:09:46 发布