完美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是一种不允许出现元素重复的集合
专业 知识分享