Java 核心技术下

试卷审核人: 考试时间:2019.12.9

注意事项:1. 本试卷适用于 18 级计算机专业学生使用。

2. 本试卷共 18 页,满分 100 分。答题时间 90 分钟。

班级: 姓名: 学号:

题号 一 二 三 .... 总分

评分

得分 评卷人 一、选择题(本大题共 20 道小题,每小题 2 分,

共 40 分)

1. 在 Java 语言中,被称为内存分配的运算符是( )。

A、() B、[]

C、new D、==

2. byte 型变量赋值的范围是( )。

A、0~65535 B、(-128)~127

C、(-32, 768)~32, 767 D、 (-256)~255

3. 选择 Java 语言中的基本数据类型( )。

A、Class

B、Integer

C、byte

D、Boolean

4. 下面描述正确的是( )。

A、一个子类可以有多个父类,一个父类也可以有多个子类

《Java 核心技术二》试卷 A 第 1 页 共 6 页

B、一个子类可以有多个父类,但一个父类只可以有一个子类

C、一个子类可以有一个父类,但一个父类可以有多个子类

D、上述说法都不对

5. Java 语言中,使用下列关键字对当前对象的父类对象进行引用( )。

A、super B、this

C、new D、extends

6. 下列变量命名哪个是合法的 ( )。

A、class B、public

C、1234 D、_name

7. 栈是一种 ( )。

A、存取受限的线性结构

B、存取不受限的线性结构

C、存取受限的非线性结构

D、存取不受限的非线性结构

8. 下面关于 import, class 和 package 的声明顺序哪个正确( )。

A、package, import, class

B、class, import, package

C、import, package, class

D、package, class, import

9. 关于抽象方法说法正确的是( )。

A、不可以是静态的

B、可以有方法体

C、可以在普通类中定义

D、只能存在于抽象类中

10. 在 Java 中,"目录"被看作是( )。

A、文件 B、流

《Java 核心技术二》试卷 A 第 2 页 共 6 页

C、数据 D、接口

11. 以下哪个不是 Collection 的子接口( )。

A、List B、Set

C、Map D、SortedSet

12. 下面哪个流类属于面向字符的输入流( )。

A、ByteArrayInputStream B、FileInputStream

C、ObjectInputStream D、InputStreamReader

13. 欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个

方法是正确的( )。

A、ArrayList myList = new Object();

B、List myList = new ArrayList();

C、ArraylList myList = new List()

D、List myList = new List();

14. 下列说法正确的有( )。

A、class 中的 constructor 不可省略

B、constructor 必须与 class 同名,但方法不能与 class 同名

C、constructor 在一个对象被 new 时执行

D、一个 class 只能定义一个 constructor

15. System.out.println("5" + 2);的输出结果应该是( )。

A、52 B、7

C、2 D、5

16. 下列描述中,哪些符合 Java 语言的特征( )。

A、不支持跨平台(Windows,Linux,Unix 等)

B、GC(自动垃圾回收),提高了代码安全性

C、支持类 C 的指针运算操作

D、不支持与其它语言书写的程序进行通讯

《Java 核心技术二》试卷 A 第 3 页 共 6 页

17. 关于实例方法和类方法,以下描述正确的是( )。

A、实例方法只能访问实例变量

B、类方法既可以访问类变量,也可以访问实例变量

C、类方法只能通过类名来调用

D、实例方法只能通过对象来调用

18. 可以用来修饰 interface 的有( )。

A、private B、public

C、protected D、static

19. 在创建对象时,必须( )。

A、先声明对象,然后才能使用对象

B、先声明对象,为对象分配内存空间,然后才能使用对象

C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对

D、上述说法都对

20.下列有关接口的叙述错误的是哪项( )。

A、接口中只能包含抽象方法和常量

B、一个类可以实现多个接口

C、类实现接口时必须实现其中的方法

D、接口不能被继承

得分 评卷人 二、 判断对错(正确的括号中打“√”,错误

的括号中打“×”。本大题共 10 道小题,

每题 1 分,共 10 分)

1.类加载器加载程序运行所需要的所有类,它通过区分本机文件系统的类

《Java 核心技术二》试卷 A 第 4 页 共 6 页

和网络系统导入的类增加安全性。 ()

2.== 操作符判定两个分立的对象的内容和类型是否一致。 ()

3.类加载器加载程序运行所需要的所有类,由网络系统导入的指定类总是

先被加载。 ()

4.equals()方法只有在两个对象的内容一致时返回 true。 ()

5.调用 System.gc()方法不能保证 JVM 立即进行垃圾收集,而只能是建议。

()

6.在构造方法中如调用 super()语句,则必须使其成为构造方法中的第一条

语句。 ()

7.重写的方法的访问权限不能比被重写的方法的访问权限高。 ( )

8.垃圾收集的过程在 Java 程序的生存期中是自动的,不需要分配和释放

内存,也避免了内存泄漏。 ()

9.在 Java 语言中属性前不加任何访问控制修饰符则表示只允许同一包中

的类访问。 ()

10.在一个抽象类中不能定义构造方法。 ()

得分 评卷人 三、简答题(本大题共 2 道小题,每题 10 分,

共 50 分)

1、设计 4 个线程,其中两个线程每次对 j 增加 1,另外两个线程对 j 每次减少 1。

写出程序?

2、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截

取的字符串,但要保证汉字不被截取半个,如“我 ABC”,4,应该截取“我 AB”,

《Java 核心技术二》试卷 A 第 5 页 共 6 页

输入“我 ABC 汉 DEF”,6,应该输出“我 ABC”,而不是“我 ABC+汉的半个”?

3、什么是 java 序列化,如何实现 java 序列化?

4、Error 和 Exception 有什么区别? 列出你见过的 Exception 并简要说明?

5、多线程有几种实现方法,都是什么? 同步有几种实现方法,都怎么实现的?