java期末复习题含答案及详解培训讲学

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j a v a期末复习题含答

案及详解

一、选择题(共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

解析: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语言特性的描述中,错误的是( )

8.A)支持多线程操作

9.B)JAVA程序与平台无关

10.C) 支持单继承和多继承

D)JAVA程序可以直接访问Internet上的对象

答案:C

解析:Java是一门单继承语言,虽然一个类可以实现多个接口,在表面上表现出“多继承”的样子,但那并不是真正意义上的“多继承”,只能称作一个类实现了多个接口。

11.以下关于抽象类和接口的说法错误的是()

A)抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个

类却可以实现多个接口。T

B)在抽象类中可以没有抽象方法T

C)实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方

法都不能被实现T

D)接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能

重新定义,也不能改变其值。T

E)接口中的方法都必须加上public关键字。

答案:E

解析:接口中的成员在被定义时完全可以省略访问控制符,系统会默认使用public访问控制修饰符。如果非要指定访问控制符,则只能使用public访问控制修饰符。

12.下列Java语言中可用的注释符,其中错误的是( )

13.A)// B) /*...*/ C) /**...*/ D) /*

答案:D

解析:“//”是单行注释符,“/*........*/”是多行注释符,“/**.......*/”是文档注释符。D选项为非法符号。

14.下列关于变量作用域的描述,错误的是( )

15.A) 在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量。

16.B) 在类中定义的变量的作用域在该类中的方法内是可以使用的

17.C) 在方法中定义的变量的作用域仅在该方法内

18.D) 在某个作用域定义的变量,仅在该作用域内是可见的,而在该作用域外是不可见的。

相关文档
最新文档