上海交大网络面向对象程序设计Java第一、二、三次作业答案解析

发布时间:2019-04-21 21:34:40

上海交大网络面向对象程序设计(Java

第一、二、三次作业答案

1 下列关于构造方法的叙述中,错误的是( B

A) Java 语言规定构造方法名与类名必须相同

B) Java 语言规定构造方法没有返回值,但不可用void 声明

C) Java 语言规定构造方法不可重载

D) Java 语言规定构造方法只能通过new自动调用

2作为Java应用程序入口的main方法,其声明格式可以是( B

A) public void main(String [] args)

B) public static void main(String [] args)

C) public static void Main(String * args)

D) public int main(String [] args)

3 Java 中,能实现多重继承效果的方式是( C

A) 内部类

B) 适配器

C) 接口

D) 同步

4 Java 中,所有类的公共基类是( A

A) java.lang.Object

B) java.lang.Class

C) java.applet.Applet

D) java.awt.Frame

5 Java中,用package 语句声明一个包时,该包的层次结构必须是( B

A) 与文件结构相同

B) 与文件目录的层次相同

C) 与文件类型相同

D) 与文件大小相同

6 下列叙述中,错误的是(D

A) java 中,方法的重载是指多个方法共享同一名称

B) java 中,用abstract 修饰的类称为抽象类,它不可实例化

C) java 中,接口是不包含成员变量和方法实现的抽象类

D) java 中,构造函数可以有返回值

7 下列叙述中,错误的是( D

A) 接口与类的层次无关

B) 通过接口说明类所实现的方法

C) 通过接口可以了解对象的交互界面

D) 接口与存储空间有关

8 阅读和理解下面的程序段

class Manager extends Employee

{

public Manager(String n, double s, int year, int month, int day)

{

super(n, s, year, month, day);

bonus = 0;

}

public double getSalary()

{

double baseSalary = super.getSalary();

return baseSalary + bonus;

}

public void setBonus(double b)

{

bonus = b;

}

private double bonus;

}

Manager Employee 的子类,其理由是(B

A) Manager 的适用范围较宽

B) extends 关键字声明

C) Manager 的域减小了

D) 雇员是一个经理

9 X extends Y是正确的如果 C

A) 当且仅当X 是一个类,Y 是一个接口时

B) 当且仅当X 是一个接口,Y 是一个类时

C) X Y 都是类或都是接口时

D) X Y 是类或接口的任意组合时

10 下面关于抽象类的声明中正确的是( B

A) public abstract class Canine { public void speak(); }

B) public abstract class Canine { public void speak() { }}

C) public class Canine { public abstract void speak(); }

D) public class Canine abstract { public abstract void speak(); }

11 在下列代码的第9 行插入哪条语句可使程序编译通过?(C

1. class X { void do1() { } }

2. class Y extends X { void do2() { } }

3.

4. class Chrome {

5. public static void main(String [] args) {

6. X x1 = new X();

7. X x2 = new Y();

8. Y y1 = new Y();

9. // 插入代码

10. }

11.}

A) x2.do2();

B) (Y)x2.do2();

C) ((Y)x2).do2();

D) 以上ABC 均可。

12 下列关于java import 语句规定的叙述中,错误的是( C

A) java 程序中,import 语句可有多个

B) java 程序中,import 语句可以没有

C) java 程序中,import 语句必须有一个

D) java 程序中,import 语句必须引入在所有类定义之前

13 若特快订单是一种订单,则特快订单类和订单类的关系对应于面向对象编程(OOP)中的术语( C

A) 使用关系

B) 包含关系

C) 继承关系

D) 无关系

14Java的继承属于哪种类型?( A
A) 单继承 B) 双继承 C) 多继承 D) 类继承

15在构造函数中使用super引用时有什么限制?( D
A) 只能用在父类的构造函数中。
B) 只有一个子类可以用。
C) 必须出现在构造函数的最后一条语句。
D) 必须出现在构造函数的第一条语句。

16、 一个抽象类中能否既定义抽象方法又定义非抽象方法?( D

A) 不能只能含有其中一种。

B) 不能只能含有抽象方法。
C) 能,但子类不能继承抽象方法。
D) 能,子类可以继承上述两种方法。

17、 下列哪个不是继承的优点?( D

A. 被不同类共享的代码只需编写一次。
B. 使得相似的类的行为是一致的。
C. 对基类的改进将直接作用于派生类。
D. 可以用一个大的基类替代许多小类。

18、 在一个程序中,一个类可以有多少个对象?(C

A. 每个自定义的类只能有一个对象。
B. 每个构造函数的定义只能针对一个对象。
C. 需要多少可以有多少。
D. 每个main()方法中只能有一个。

1、 当使用File类中的方法操作文件系统时,下列功能中的哪个不能做到?(D

A) 改变当前工作路径

B) 删除某个文件

C) 创建某个文件

D) 修改文件的安全级别

2、 File类实例化时,在文件系统中便相应有一个文件被创建。该句话是否正确?(B

A) 正确

B) 错误

3、 下面哪种流类允许您从一个文件中读取基本数据类型的数据?(A

A) DataInputStreamFileInputStream

B) DataInputStream

C) FileInputStream

D) FileReader

4、 下列说法中错误的是(B

A) Reader类和Writer类及其派生类都可用于16Unicode字符的输入输出

B) FileInputStream类和FileOutputStream类均可用于处理16Unicode字符的输入输出

C) FileInputStream类和FileOutputStream类可用于读取图像文件

D) FileInputStream类和FileOutputStream类可用于读取文本文件

5、 下列代码的运行结果为(A

FileOutputStream out = new FileOutputStream(objectStore.ser);

ObjectOutputStream os = new ObjectOutputStream(out);

os.writeObject(Object on the fly!);

A) 字符串“Object on the fly!”被写入文件objectStore.ser

B) 3行导致编译错误

C) 代码可以编译通过,但在运行时第3行将抛出一个异常

D) 2行将出现一个异常

6、 考虑如下代码段:

FileOutputStream fo = new FileOutputStream(“myFile.txt”);

DataOutputStream do = new DataOutputStream(fo);

do.writeByte(9);

do.writeFloat(4.20f);

do.close();

上述代码执行后,有多少字节(8位)被写入文件?(B

A) 2

B) 5

C) 3

D) 10

7、 考虑如下代码段:

1) import java.io.*;

2) public class QuestionEight {

3) public static void main(String[] args) throws IOException {

4) File inputFile = new File(“javaCourse.txt”);

5) File outputFile = new File(“javaCourseCopy.txt”);

6) BuffferedReader in = new BufferedReader(inputFile);

7) BufferedWriter out = new BufferedWriter(new FileWriter(outputFile));

8) String line;

9) while((line = in.readLine()) != null) {

10) out.write(line);

11) out.newLine();

12) }

13) in.close();

14) out.close();

15) }

16) }

上述代码的输出为:(B

A) 3行编译时报错

B) 6行编译时报错

C) 编译通过,但运行时第6行抛出异常

D) 编译通过,且运行时正常。

8、 下列说法中正确的是(D

A) 当一个对象被序列化时,整个类定义也会被相应保存

B) 当一个对象被序列化时,整个对象的状态(所有的数据变量及其相应值)均会被保存

C) FileInputStream无法读取文本文件,它只能用来读取图像文件。

D) 上述说法A,B,C均有误。

9、下列说法中错误的是(D

A) Set是一种不允许出现元素重复的集合

B) Map集合中可以存储重复值

C) List是一种依索引有序的集合

D) List集合中不允许存在重复元素

10、下面的哪些类实现了java.util.List接口?(A

(1) java.util.Vector

(2) java.util.LinkedList

(3) java.util.HashTable

(4) java.util.OrderedList

A) 1, 2 B) 1 C) 3, 4 D) 1, 2, 3, 4

11、关于hashcode,下列说法中错误的是(A

A) 两个相等对象的hashcode值一定相等

B) 两个不相等的对象的hashcode值一定不相等

C) 如果两个不相等的对象的hashcode值总不相等,程序的性能会得到提升

D) 总是返回常量的函数不会是一个高效的函数。

12、考虑如下代码段:

1. int i = 5;

2. printIt(i);

3. void printIt(Integer wi) {

4. int j = wi;

5. System.out.println(“The value is: ” + j);

6. }

该代码段的输出为(B

A) The value is: 5

B) 3行编译时报错

C) 2行编译时报错

D) 运行时错误

13、下列语句不合法的是:(A

A) HashMap hmap = new HashMap();

B) List list = new List();

C) List list2 = new List();

D) HashSet set = new HashSet();

14、考虑如下代码段:

1. List list = new List();

2. list.Add(new ObjectOne());

3. list.Add(new ObjectOne());

4. list.Add(new ObjectOne());

5. Collections.sort(list);

6. class ObjectOne {

7. private int x = 0;

8. private int y = 0;

9. }

该代码段的输出为:(B

A) 编译时第5行报错

B) 运行时第5行出错

C) 编译时第3行出错

D) 运行时第3行出错

15、下列集合类中哪种可用于存储“key-value”对且是线程安全的?(A

A) HashTable

B) HashMap

C) TreeMap

D) Vector

16、考虑如下代码段:

List list = new List();

list.add(new Integer(1));

list.add(new Integer(2));

list.add(new Integer(3));

Iterator itr = list.iterator();

for(Integer wij : list) {

System.out.println(“number: ” + wij);

}

该代码段的输出为:(A

A) number: 1

number: 2

number: 3

B) 5行编译时出错

C) 6行编译时出错

D) 7行编译时出错

1、 以下哪个方法可以正确启动新线程?(C

A) 只需创建新线程对象,新线程会自动启动。

B) 创建新线程对象并调用方法begin()

C) 创建新线程对象并调用方法start()

D) 创建新线程对象并调用方法run()

E) 创建新线程对象并调用方法resume()

2、 扩展Thread类以提供线程的行为时,应重载哪个方法?(C

A) begin()

B) start()

C) run()

D) resume()

3、 下列说法中正确的是(B

A) Thread类为抽象类

B) Thread类实现了Runnable接口

C) 实现Runnable接口的类必须定义一个名为start的方法

D) 实现Runnable接口的对象调用run()方法将创建一个新线程

4、 对给定程序理解正确的是(A

public class ThreadPrint {

static Thread makeThread(final String id, boolean daemon) {

Thread t = new Thread(id) {

public void run() {

System.out.println(id);

}

};

t.setDaemon(daemon);

t.start();

return t;

}

public static void main(String[] args) {

Thread a = makeThread("A", false);

Thread b = makeThread("B", true);

System.out.println("End\n");

}

}

A) 总是打印字符A

B) 字符B总不被打印

C) 不在End之后打印A

D) 不在End之后打印B

5、 下列方法中不可用来实现线程间通信的是(B

A) notifyAll()

B) start()

C) notify()

D) wait()

6、 下面哪个事件将导致线程死亡?(D

A) sleep()方法被调用

B) wait()方法被调用

C) start()方法被调用

D) run()方法执行结束

7、 如何设置线程的优先级?(A

A) 通过使用Thread类的setPriority()方法

B) 通过将优先级作为参数传递给线程的构造方法

C) 以上两种方法均正确

D) 以上两种方法均不正确

8、 线程可能处于活动状态但是仍不处于运行状态,不可能的原因是(B

A) 调用wait方法后,线程等待条件得到满足

B) Run方法执行结束

C) 为了在线程上执行方法,线程等待获得对象锁定

D) 线程没有最高的优先级而且当前没有运行

9、 Swing提供的顶层容器不包括(D

A) JFrame

B) JDialog

C) JApplet

D) JButton

10、 JFrame默认的布局管理器是(B

A) FlowLayout

B) BorderLayout

C) GridLayout

D) CardLayout

11、 WindowListener中可以实现窗口关闭功能的是(C

A) public void windowOpened(WindowEvent e)

B) public void windoeClosed(WindowEvent e)

C) public void windowClosing(WindowEvent e)

D) public void windowDeactivated(WindowEvent e)

12、 下列事件监听器中,无法对TextField对象进行事件监听和处理的是(D

A) ActionListener

B) FocusListener

C) MouseMotionListener

D) ChangeListener

13、 Swing的选项面板是(A

A) JTabbedPane

B) JLayeredPane

C) JScrollPane

D) JSplitPane

14、 每个Java小程序必须定义为(A

A) Applet类或JApplet类的子类

B) JFrame类的子类

C) Frame类的子类

D) Window类的子类

15、 下列方法中,不属于windowListener接口的是(D

A) windowOpened()

B) windowClosed()

C) windowActivated()

D) mouseDragged()

16、在Applet中显示文字、图形等信息时,应使用的方法是(A

A) paint()

B) init()

C) start()

D) destroy()

17、目前数据库中最重要、最流行的数据库是( C)

A) 网状数据库

B) 层次数据库

C) 关系数据库

D) 非关系模型数据库

18SQL中,“DELETE FROM 表名”表示(A

A) 从基本表中删除所有元组

B) 从基本表中删除所有属性

C) 从数据库中撤消这个基本表

D) 从基本表中删除重复元组

19、实现关系代数选择运算的SQL 子句是( A
A) SELECT 
B) ORDER BY
C) FROM 
D) WHERE

20、以下关于外码和相应的主码之间的关系,正确的是(A
A) 外码并不一定要与相应的主码同名
B) 外码一定要与相应的主码同名
C) 外码一定要与相应的主码同名而且唯一
D) 外码一定要与相应的主码同名,但并不一定唯一

21、下列关于ODBC的叙述正确的是(A

A) 是一个C语言编写的API,不适合在Java中使用

B) 是一个C语言编写的API,适合在Java中使用

C) 可以完全精确地实现从C代码ODBCJava API写的ODBC的转换。

D) 保持了简单事物的简单性,又允许复杂的特性

22JDBC包含在java的哪个包中?(D

A) java.sql

B) javax.sql

C) java.jdbc

D) AB

23、一个基本的JDBC程序开发步骤中包括(D

A) 分配Connection对象

B) 分配Statement对象

C) Statement对象进行查询

D) ABC均包括

24Connection接口中不可用来向数据库发送SQL语句的对象的方法是(C

A) createStatement()

B) prepareStatement()

C) commit()

D) prepareCall()

上海交大网络面向对象程序设计Java第一、二、三次作业答案解析

相关推荐