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、多线程有几种实现方法,都是什么? 同步有几种实现方法,都怎么实现的?