您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 上海交大网络面向对象程序设计Java第一、二、三次作业答案
上海交大网络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=super.getSalary();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)1.classX{voiddo1(){}}2.classYextendsX{voiddo2(){}}3.4.classChrome{5.publicstaticvoidmain(String[]args){6.Xx1=newX();7.Xx2=newY();8.Yy1=newY();9.//插入代码10.}11.}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、在一个程序中,一个类可以有多少个对象?(C)A.每个自定义的类只能有一个对象。B.每个构造函数的定义只能针对一个对象。C.需要多少可以有多少。D.每个main()方法中只能有一个。18、下列哪个不是继承的优点?(D)A.被不同类共享的代码只需编写一次。B.使得相似的类的行为是一致的。C.对基类的改进将直接作用于派生类。D.可以用一个大的基类替代许多小类。第二次作业1、当使用File类中的方法操作文件系统时,下列功能中的哪个不能做到?(D)A)改变当前工作路径B)删除某个文件C)创建某个文件D)修改文件的安全级别2、对File类实例化时,在文件系统中便相应有一个文件被创建。该句话是否正确?(B)A)正确B)错误3、下面哪种流类允许您从一个文件中读取基本数据类型的数据?(A)A)DataInputStream和FileInputStreamB)DataInputStreamC)FileInputStreamD)FileReader4、下列说法中错误的是(B)A)Reader类和Writer类及其派生类都可用于16位Unicode字符的输入输出B)FileInputStream类和FileOutputStream类均可用于处理16位Unicode字符的输入输出C)FileInputStream类和FileOutputStream类可用于读取图像文件D)FileInputStream类和FileOutputStream类可用于读取文本文件5、下列代码的运行结果为(A)FileOutputStreamout=newFileOutputStream(“objectStore.ser”);ObjectOutputStreamos=newObjectOutputStream(out);os.writeObject(“Objectonthefly!”);A)字符串“Objectonthefly!”被写入文件objectStore.serB)第3行导致编译错误C)代码可以编译通过,但在运行时第3行将抛出一个异常D)第2行将出现一个异常6、考虑如下代码段:FileOutputStreamfo=newFileOutputStream(“myFile.txt”);DataOutputStreamdo=newDataOutputStream(fo);do.writeByte(9);do.writeFloat(4.20f);do.close();上述代码执行后,有多少字节(8位)被写入文件?(B)A)2B)5C)3D)107、考虑如下代码段:1)importjava.io.*;2)publicclassQuestionEight{3)publicstaticvoidmain(String[]args)throwsIOException{4)FileinputFile=newFile(“javaCourse.txt”);5)FileoutputFile=newFile(“javaCourseCopy.txt”);6)BuffferedReaderin=newBufferedReader(inputFile);7)BufferedWriterout=newBufferedWriter(newFileWriter(outputFile));8)Stringline;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集合中不允许存在重复元素A)1,2B)1C)3,4D)1,2,3,411、关于hashcode,下列说法中错误的是(A)A)两个相等对象的hashcode值一定相等B)两个不相等的对象的hashcode值一定不相等C)如果两个不相等的对象的hashcode值总不相等,程序的性能会得到提升D)总是返回常量的函数不会是一个高效的函数。12、考虑如下代码段:1.inti=5;2.printIt(i);3.voidprintIt(Integerwi){4.intj=wi;5.“Thevalueis:”+j);6.}该代码段的输出为(B)A)Thevalueis:5B)第3行编译时报错C)第2行编译时报错D)运行时错误13、下列语句不合法的是:(A)A)HashMapInteger,Stringhmap=newHashMapInteger,String();B)ArrayListintlist=newArrayListint();C)ListStringlist2=newArrayListString();D)HashSetStringset=newHashSetString();14、考虑如下代码段:1.ArrayListObjectOnelist=newArrayListObjectOne();2.list.Add(newObjectOne());3.list.Add(newObjectOne());4.list.Add(newObjectOne());5.Collections.sort(list);6.classObjectOne{7.privateintx=0;8.privateinty=0;9.}该代码段的输出为:(B)A)编译时第5行报错B)运行时第5行出错C)编译时第3行出错D)运行时第3行出错15、下列集合类中哪种可用于存储“key-value”对且是线程安全的?(A)A)HashTableB)HashMapC)TreeMapD)Vector16、考虑如下代码段:ArrayListIntegerlist=newArrayListInteger();list.add(newInteger(1));list.add(newInteger(2));list.add(newInteger(3));IteratorIntegeritr=list.iterator();for(Integerwij:list){“number:”+wij);}该代码段的输出为:(A)A)number:1number:2number:3B)第5行编译时出错C)第6行编译时出错D)第7行编译时出错第三次作业1、以下哪个方法可以正确启动新线程?(C)A)只需创建新线程对象,新线程会自动启动。B)创建新线程对象并调用方法begin()C)创建新线程对象并调用方法start()D)创建新线程对象并调用方法run()E)创建新线程对
本文标题:上海交大网络面向对象程序设计Java第一、二、三次作业答案
链接地址:https://www.777doc.com/doc-7271666 .html