上海交大网络面向对象程序设计Java第一二三次作业答案 下载本文

内容发布更新时间 : 2024/12/23 18:27:26星期一 下面是文章的全部内容请认真阅读。

上海交大网络2017 面向对象程序设计(Java) 第一、二、三次作业最新答案

第一次作业

1、下列关于构造方法的叙述中,错误的是(B) A)Java语言规定构造方法名与类名必须相同

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

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

2、作为Java应用程序入口的main方法,其声明格式可以是(B) A)publicvoidmain(String[]args) B)publicstaticvoidmain(String[]args) C)publicstaticvoidMain(String*args) D)publicintmain(String[]args)

3、Java中,能实现多重继承效果的方式是(C) A)内部类 B)适配器 C)接口 D)同步

4、在Java中,用package语句声明一个包时,该包的层次结构必须是(B) A)与文件结构相同 B)与文件目录的层次相同 C)与文件类型相同 D)与文件大小相同

、在Java中,所有类的公共基类是(A) 6、下列叙述中,错误的是(D)

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

B)java中,用abstract修饰的类称为抽象类,它不可实例化 C)java中,接口是不包含成员变量和方法实现的抽象类 D)java中,构造函数可以有返回值 7、下列叙述中,错误的是(D) A)接口与类的层次无关

B)通过接口说明类所实现的方法 C)通过接口可以了解对象的交互界面 D)接口与存储空间有关 8、阅读和理解下面的程序段

classManagerextendsEmployee {

publicManager(Stringn,doubles,intyear,intmonth,intday)

{

super(n,s,year,month,day); bonus=0; }

publicdoublegetSalary() {

doublebaseSalary=(); returnbaseSalary+bonus; }

publicvoidsetBonus(doubleb) { bonus=b; }

privatedoublebonus; }

Manager是Employee的子类,其理由是(B) A)Manager的适用范围较宽 B)extends关键字声明 C)Manager的域减小了 D)雇员是一个经理

9、“XextendsY”是正确的,如果(C) A)当且仅当X是一个类,Y是一个接口时 B)当且仅当X是一个接口,Y是一个类时 C)当X和Y都是类或都是接口时 D)X和Y是类或接口的任意组合时

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

A)publicabstractclassCanine{publicvoidspeak();} B)publicabstractclassCanine{publicvoidspeak(){}} C)publicclassCanine{publicabstractvoidspeak();}

D)publicclassCanineabstract{publicabstractvoidspeak();} 11、在下列代码的第9行插入哪条语句可使程序编译通过?(C)

{voiddo1(){}} {voiddo2(){}} 3. { 5. 6. 7. 8. 9. 11.}

publicstaticvoidmain(String[]args){

Xx1=newX(); Xx2=newY(); Yy1=newY();

}

A)(); B)(Y)();

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、 在一个程序中,一个类可以有多少个对象?(C) A. 每个自定义的类只能有一个对象。 B. 每个构造函数的定义只能针对一个对象。 C. 需要多少可以有多少。

D. 每个main()方法中只能有一个。 18、 下列哪个不是继承的优点?(D) A. 被不同类共享的代码只需编写一次。 B. 使得相似的类的行为是一致的。 C. 对基类的改进将直接作用于派生类。 D. 可以用一个大的基类替代许多小类。

第二次作业

1、 当使用File类中的方法操作文件系统时,下列功能中的哪个不能做到?(D) A) 改变当前工作路径 B) 删除某个文件 C) 创建某个文件 D) 修改文件的安全级别

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

B) 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)

FileOutputStreamout=newFileOutputStream(“”); ObjectOutputStreamos=newObjectOutputStream(out); (“Objectonthefly!”);

A) 字符串“Objectonthefly!”被写入文件 B) 第3行导致编译错误

C) 代码可以编译通过,但在运行时第3行将抛出一个异常 D) 第2行将出现一个异常 6、 考虑如下代码段:

FileOutputStreamfo=newFileOutputStream(“”); DataOutputStreamdo=newDataOutputStream(fo); (9); ; ();

上述代码执行后,有多少字节(8位)被写入文件?(B) A) 2 B) 5 C) 3 D) 10

7、 考虑如下代码段:

1) .*;

2) publicclassQuestionEight{

3) publicstaticvoidmain(String[]args)throwsIOException{ 4) FileinputFile=newFile(“”); 5) FileoutputFile=newFile(“”);

6) BuffferedReaderin=newBufferedReader(inputFile);

7) BufferedWriterout=newBufferedWriter(newFileWriter(outputFile)); 8) Stringline;

9) while((line=())!=null){ 10) (line); 11) (); 12) } 13) (); 14) ();

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集合中不允许存在重复元素 A)1,2B)1C)3,4D)1,2,3,4

11、关于hashcode,下列说法中错误的是(A) A)两个相等对象的hashcode值一定相等 B)两个不相等的对象的hashcode值一定不相等

C)如果两个不相等的对象的hashcode值总不相等,程序的性能会得到提升 D)总是返回常量的函数不会是一个高效的函数。 12、考虑如下代码段:

=5; (i);

(Integerwi){ 4. intj=wi;

5. “Thevalueis:”+j); 6.}

该代码段的输出为(B) A)Thevalueis:5 B)第3行编译时报错 C)第2行编译时报错 D)运行时错误

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

A)HashMaphmap=newHashMap(); B)ArrayListlist=newArrayList(); C)Listlist2=newArrayList(); D)HashSetset=newHashSet(); 14、考虑如下代码段:

list=newArrayList(); =0;

{

7. privateintx=0;