一、选择题(共20分)
1下列输出结果是()
i
ta0whilea5
switchacase0case3aa2case1case2aa3defaultaa5
Systemoutpri
ta答案:10解析:由于每个case后面没有使用break结束循环,导致程序从上往下逐条运行。
2被声明为private,protected及public的类成员,在类外部()
A)只能访问到声明为protected和public的成员C)只能访问声明为public的成员
答案:A
B)都可以访问D)都不能访问
解析:private只能被类内部访问,子类(未在父类内部)可以访问父类protected类型成员,其他类可以访
问其public类型成员。
3在Java语言中,下列关于类的继承的描述,正确的是()。
A一个类可以继承多个父类B一个类可以具有多个子类C子类可以使用父类的所有方法D子类一定比父类有更多的成员方法答案:B解析:A错,一个类只能有一个父类;C错,父类的私有方法就不可被子类访问并使用;D错,继承关系是对父类功能的扩展,根据实际情况完全可以只扩展1个功能,并不意味着成员方法比父类多。
4类Teacher和Stude
t都是类People的子类
Peoplep
Teachert
Stude
ts若pt和s都是非空值,并且
ew时声明的都是本类
ifti
sta
ceofPeoplesStude
tt这个语句导致的结果是什么()
A表达式合法B编译时非法C将构造一个Stude
t对象D编译时合法而在运行时可能非法
答案:B
试卷编号:1B
第1页共11页
f解析:i
sta
ceof操作符用于判断左边的引用对象是否是右边的类,或者其子类、实现类的实例。此题中的if语句的判断没有问题,将返回真。但是后面的类型转换是非法的,因为t是一个Teacher对象,它不能被强制转换为一个Stude
t对象,即使这两个类有共同的父类。如果是将t转换为一个Perso
对象则可以,而且不需要强制转换。这个错误在编译时就可以发现,因此编译不能通过。
5下列值不为true的表达式有(
)。
A