没有合适的资源?快使用搜索试试~ 我知道了~
java期末复习题含答案及详解.doc
0 下载量 86 浏览量
2024-05-15
09:49:09
上传
评论
收藏 88KB DOC 举报
温馨提示
试读
11页
java期末复习题含答案及详解.doc
资源推荐
资源详情
资源评论
试卷编号: 1-B 第 1 页 共 11 页
一、选择题(共 20 分)
1. 下列输出结果是( )
int a = 0 ;
while ( a < 5 ) {
switch(a){
case 0:
case 3 : a = a + 2;
case 1 :
case 2 : a = a + 3;
default : a = a + 5; }
}
System.out.print ( a ) ;
答案:10
解析:由于每个 case 后面没有使用 break 结束循环,导致程序从上往下逐条运行。
2. 被声明为 private,protected 及 public 的类成员,在类外部( )
A)只能访问到声明为 protected 和 public 的成员 B) 都可以访问
C)只能访问声明为 public 的成员 D)都不能访问
答案:A
解析:private 只能被类内部访问,子类(未在父类内部)可以访问父类 protected 类型成员,其他类可以访
问其 public 类型成员。
3. 在 Java 语言中,下列关于类的继承的描述,正确的是( )。
A) 一个类可以继承多个父类
B) 一个类可以具有多个子类
C) 子类可以使用父类的所有方法
D) 子类一定比父类有更多的成员方法
答案:B
解析:A 错,一个类只能有一个父类;C 错,父类的私有方法就不可被子类访问并使用;D 错,继承关系
是对父类功能的扩展,根据实际情况完全可以只扩展 1 个功能,并不意味着成员方法比父类多。
4. 类 Teacher 和 Student 都是类 People 的子类
People p;
Teacher t;
Student s;
若 p,t 和 s 都是非空值,并且 new 时声明的都是本类;
if(t instanceof People) { s = (Student)t; }
这个语句导致的结果是什么?( )
A) 表达式合法
B) 编译时非法
C) 将构造一个 Student 对象
D) 编译时合法而在运行时可能非法
答案:B
试卷编号: 1-B 第 2 页 共 11 页
解析:instanceof 操作符用于判断左边的引用对象是否是右边的类,或者其子类、实现类的实例。此
题中的 if 语句的判断没有问题,将返回真。但是后面的类型转换是非法的,因为 t 是一个 Teacher 对象,
它不能被强制转换为一个 Student 对象,即使这两个类有共同的父类。如果是将 t 转换为一个 Person 对
象则可以,而且不需要强制转换。这个错误在编译时就可以发现,因此编译不能通过。
5. 下列值不为 true 的表达式有( )。
A) "tomy" = = "tomy"
B) "tomy".equals("tomy")
C) "tomy" = "tomy"
D) "tomy".equals(new String("tomy"))
答案:C
解析:赋值符号“=”的左端必须是一个变量,显然 C 选项在编译时就会出错,故其值不可能为 true。
6. 关于接口哪个正确? ( )
A)接口和抽象类是同一回事
B)一个类只能实现一个接口
C)接口间不能有继承关系
D)实现一个接口必须实现接口的所有方法
答案:D
解析:A 错,接口是一种规范机制,他作为系统与外部交互的窗口,它既规定了实现着必须向外提供哪些
服务,也规定了调用者可以调用哪些服务,以及如何调用这些服务。抽象类是作为系统中多个子类的父类,
体现的是一种模板设计。B 错,一个类可以直接实现多个接口,通过实现多个接口可以弥补 Java 单继承的
不足。C 错,接口支持多继承,一个接口可以有多个直接父接口,与类继承相似,子接口扩展某个父接口,
将会获得父接口里的所有抽象方法、常量。
7. 下列关于 Java 语言特性的描述中,错误的是( )
A)支持多线程操作
B)JAVA 程序与平台无关
C) 支持单继承和多继承
D)JAVA 程序可以直接访问 Internet 上的对象
答案:C
解析:Java 是一门单继承语言,虽然一个类可以实现多个接口,在表面上表现出“多继承”的样子,但那
并不是真正意义上的“多继承”,只能称作一个类实现了多个接口。
8. 以下关于抽象类和接口的说法错误的是( )
A) 抽象类在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现
多个接口。T
B) 在抽象类中可以没有抽象方法 T
C) 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实
现 T
D) 接口中定义的变量默认是 public static final 型,且必须给其初值,所以实现类中不能重新定义,
也不能改变其值。T
E) 接口中的方法都必须加上 public 关键字。
答案:E
试卷编号: 1-B 第 3 页 共 11 页
解析:接口中的成员在被定义时完全可以省略访问控制符,系统会默认使用 public 访问控制修饰符。如果
非要指定访问控制符,则只能使用 public 访问控制修饰符。
9. 下列 Java 语言中可用的注释符,其中错误的是( )
A)// B) /*...*/ C) /**...*/ D) /*
答案:D
解析:“//”是单行注释符,“/*........*/”是多行注释符,“/**.......*/”是文档注释符。D 选项为非法符号。
10. 下列关于变量作用域的描述,错误的是( )
A) 在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量。
B) 在类中定义的变量的作用域在该类中的方法内是可以使用的
C) 在方法中定义的变量的作用域仅在该方法内
D) 在某个作用域定义的变量,仅在该作用域内是可见的,而在该作用域外是不可见的。
答案:A
解析:方法中的作用域可以嵌套,但嵌套的作用域中不能出现同名变量否则会出现名命冲突。
11. 类与对象的关系是( )。
A) 对象是类的子类
B) 对象是类的抽象
C) 类是对象的抽象
D) 类是对象的具体实例
答案:C
解析:对某一类对象的属性和功能的抽象便得到了类,而一个对象便是某一个类的具体化或实例化。
12. 在类的修饰符中,规定只能被同一包类所使用的修饰符是( )
A) public B) 默认 C) final D) abstract
答案:B
解析:用 public 修饰的类、类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问。默
认访问权限的类、类属变量及方法,包内的任何类(包括继承了此类的子类)都可以访问它,而对于包外
的任何类都不能访问它(包括包外继承了此类的子类)。final 修饰符是用来修饰类、变量和方法的,用来
表示它所修饰的类、方法和变量不可再改变。abstract 是定义抽象类或抽象方法时使用的修饰符。
13. 下列关于类的继承性的描述中,错误的是 ( )
A) 继承是在已有的基础上生成新类的一种方法
B) 子类继承父类的所有成员
C) Java 语言要求一个子类只有一个父类
D) 父类中成员的访问权限在子类中将被改变
答案:D
解析:子类对从父类继承来的成员只有重写或使用的权限,并不能修改父类成员的访问权限。
剩余10页未读,继续阅读
资源评论
平头哥在等你
- 粉丝: 2
- 资源: 7332
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功