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

完美WORD格式

上海交大网络面向对象程序设计(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) 通过接口可以了解对象的交互界面

专业 知识分享

完美WORD格式

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 行插入哪条语句可使程序编译通过?(C1. class X { void do1() { } }

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

4. class Chrome {

专业 知识分享

完美WORD格式

5. 6. 8.

7. 9. 10. 11.}

public static void main(String [] args) { }

X x1 = new X(); X x2 = new Y(); Y y1 = new Y(); // 插入代码

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

D) 以上A、B、C 均可。

12、 下列关于java 对import 语句规定的叙述中,错误的是( C ) A) 在java 程序中,import 语句可有多个 B) 在java 程序中,import 语句可以没有 C) 在java 程序中,import 语句必须有一个

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

13、 若特快订单是一种订单,则特快订单类和订单类的关系对应于面向对象编程(OOP)中的术语( C ) A) 使用关系 B) 包含关系 C) 继承关系 D) 无关系

14、Java的继承属于哪种类型?( A )

A) 单继承 B) 双继承 C) 多继承 D) 类继承

15、在构造函数中使用super引用时有什么限制?( D ) A) 只能用在父类的构造函数中。 B) 只有一个子类可以用。

C) 必须出现在构造函数的最后一条语句。 D) 必须出现在构造函数的第一条语句。 16、

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

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

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

A. 被不同类共享的代码只需编写一次。

专业 知识分享

完美WORD格式

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) DataInputStream和FileInputStream B) DataInputStream C) FileInputStream D) FileReader

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

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

B) FileInputStream类和FileOutputStream类均可用于处理16位Unicode字符的输入输出 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行将出现一个异常

专业 知识分享

完美WORD格式

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是一种不允许出现元素重复的集合

专业 知识分享

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4