雨课堂学堂在线学堂云《Java程序设计(清华大学)》单元测试考核答案_第1页
雨课堂学堂在线学堂云《Java程序设计(清华大学)》单元测试考核答案_第2页
雨课堂学堂在线学堂云《Java程序设计(清华大学)》单元测试考核答案_第3页
雨课堂学堂在线学堂云《Java程序设计(清华大学)》单元测试考核答案_第4页
雨课堂学堂在线学堂云《Java程序设计(清华大学)》单元测试考核答案_第5页
已阅读5页,还剩59页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

注:不含主观题第1题对于利用计算机程序求解实际问题的顺序是:(1)利用机器进行求解(2)用计算机语言表述问题(3)将实际问题进行抽象A(1)(2)(3)B(3)(2)(1)C(2)(1)(3)D(2)(3)(1)第2题程序设计的发展历程按照发展顺序排序是:(1)汇编语言(2)机器语言(3)高级语言(4)面向对象的高级语言A(4)(3)(2)(1)B(1)(2)(3)(4)C(2)(1)(3)(4)D(4)(3)(1)(2)第3题将客观事物看作具有____和____的对象,通过抽象找出同一类对象的共同状态和行为,构成____。3.面向对象的主要思想是:A状态,行为,类B属性,行为,方法C状态,行为,方法D属性,方法,类第4题面向对象技术给软件发展带来的益处有:(1)一个设计好的类,可以在后续开发中被部分或者全部的重复使用(2)每个类可以作为一个独立单元进行测试维护,大量代码来源于成熟可靠的类库,因此开发新程序时的新增代码明显减少,使程序更加可靠(3)有利于提高用户对类的修改和数据的控制,使得开发更加便捷。A(1)(2)(3)B(1)(2)C(1)(3)D(2)(3)第5题面向对象程序的基本特征是:(1)抽象和封装(2)继承性(3)多态性A(1)(2)(3)B(1)(3)C(1)(2)D(2)(3)第6题Java语言的特点是:(1)面向对象(2)安全性(3)操作平台无关性(4)多线程(5)内存管理A(1)(3)(4)B(1)(2)(3)(4)C(1)(2)(3)(5)D(1)(2)(3)(4)(5)第7题Java语言相比于C,C++的不同之处在于:(1)不支持指针(2)可以手动进行内存管理(3)Java编译器生成的代码与平台相关(4)自动对内存进行管理(5)Java编译器生成的字节码,只要是安装了Java的运行系统其程序就能在不同的处理器上执行A(1)(2)(3)B(1)(3)(4)C(1)(4)(5)D(1)(2)(5)第8题关于Java程序的执行过程,以下选项中,正确的是(1)编写.java程序(2)解释器对.java文件进行解释执行(3)编译器将.java文件编译成.class文件(4)解释器对.class文件进行解释执行A(1)->(2)B(1)->(3)->(4)C(1)->(3)->(2)D(1)->(2)->(3)->(4)第9题Java的主要优点是()A直接操作内存,功能强大B一次编译,到处运行C纯面向对象的语言D可以通过拖拽的方式快速开发用户界面正确答案:BC第10题下面有关JAVA代码安全性的叙述错误的是()A字节码校验器加载查询执行所需的所有类B运行时由解释器执行代码C运行时,字节码被加载,验证,然后在解释器中执行D类加载器通过分离本机文件系统的类和从网络导入的类增加安全性第11题编译JAVA源程序文件时将产生相应的字节码文件,这些字节码文件的扩展名为()AjavaBclassChtmlDexe第12题下面说法正确的是()AJAVA程序的源文件名称与主类的名称相同,后缀可为.java或者.txtBJDK的编译命令为javaC一个JAVA源程序编译后,可能产生几个字节码文件D在DOS命令行下编译好字节码文件后,只需输入程序名即可运行该程序第13题Java应用程序执行入口的main()方法返回类型是()AintBvoidCbooleanDstaic第14题某Java程序的类定义如下:publicclassMyClass{}则该java源文件在存盘时其文件名应当为Amyclass.javaBMyClass.javaCMYCLASS.javaDMyClass.class第15题设HelloWord的代码为:classHelloWord{publicvoidmain(Stringa[]){System.out.println("helloworld");}}下面说法正确的是:AHelloWord.java无法通过编译,因为main方法的声明方式不对BHelloWord.java可以通过编译,但是运行该程序会出现异常,不会打印HelloWorldCHelloWord.java可以通过编译,但是无法运行,因为该文件没有public类DHelloWorld.java可以通过编译并正常运行,结果输出helloworld第一章Java语言基础知识--1.2-基本数据类型与表达式第1题变量i的值为4,下列操作能够得到变量a的值为3的是:(1)a=i--(2)a=--i(3)a=15%4(4)a=14/4(5)a=(i^=7)A(1)(2)(3)(4)(5)B(1)(3)(4)(5)C(2)(3)(4)(5)D(2)(3)(4)第2题某个main()方法中有以下声明:finalintmin=0;finalintmax=10;intnum=5;下列哪个语句可以用来表示“num的值大于等于min且小于等于max”()A!(num<min&&num>max)Bnum>=min&&num<=maxCnum>min||num<=maxDnum>=min||num<=max第3题下面不属于Java中的位操作符的是:(1)~(2)&(3)^(4)<<(5)>>(6)&&(7)||(8)|(9)>>>A(1)(6)(7)(9)B(6)(7)(9)C(2)(3)(6)D(6)(7)第4题以下哪段代码可以将A,B的值互换()AA=A^B;B=A^B;A=A^BBA=A^B;A=A^B;B=A^BCB=A^B;B=A^B;A=A^BDB=A^B;A=A^B;A=A^B第5题对于i=1,下列三目运算符的结果为10的是:A(i&4)==0?10:9B(i^3)>2?10:9C(i>>2)>0?10:9D((i|10))&9>10?10:9第6题在以下转换中,分别属于哪种类型:Ainta=3;longb=aBdoublea=3.1415926;floatb=a;Cinta=3;Stringb=a+"1";Dfloata=3.5;intb=(int)aE(1)扩展转换(2)强制转换(3)隐含转换(4)窄化转换F(1)扩展转换(2)窄化转换(3)隐含转换(4)强制转换G(1)隐含转换(2)窄化转换(3)扩展转换(4)强制转换H(1)窄化转换(2)扩展转换(3)强制转换(4)隐含转换正确答案:F第7题在Java程序中,下面哪个是不合法的标志符()A2DBTrueC_nameDT1第8题以下哪些变量的声明是合法的:(1)try(2)_try1231(3)$Try_*(4)4_try(5)#_try(6)$try_1_forA(1)(2)(3)B(1)(2)(4)C(2)(6)D(1)(2)(6)第9题下列()不属于Java的基本数据类型AintBStringCdoubleDboolean第10题Sytem.out.println(“1”+2)打印到屏幕的结果是:A3B12C1+2D4第11题下面()是不合法的变量名称AWhile-trueBTrueCNameDT1第12题在某个main()方法中有以下代码:Strings1,s2int[]numbersintnumnum=15booleanb=false下面哪个说法是正确的()A声明了1个基本类型变量和2个引用变量B声明了2个基本类型变量和2个引用变量C声明了2个基本类型变量和3个引用变量D声明了3个基本类型变量和3个引用变量第13题关于java中变量或者常量的说法正确的是:(1)常量一旦被初始化就不能被改变。(2)变量是由一个标识符命名的量(3)变量的值可以改变(4)常量的值可以被改变(5)变量可以不存在类型A(1)(2)(3)(4)B(1)(2)(3)C(2)(3)(4)D(1)(2)(4)(5)第14题关于数据类型的声明,以下声明正确的是:(1)bytea=129(2)longb=129F(3)floatc=1.234F(4)shortd=1.2(5)booleane=true(6)floatf=1.234DA(1)(3)(4)(5)B(3)(5)C(2)(3)(6)D(1)(5)(6)第15题如果想要文字量的的实际内容是“I’mveryinterestedinjavaProgramming”(包含””),以下文字量声明正确的是:Astringstr=“I’mveryinterestedinjavaProgramming”Bstringstr=\“I\’mveryinterestedinjavaProgramming\”Cstringstr=“\“I\’mveryinterestedinjavaProgramming\””Dstringstr=“I\’mveryinterestedinjavaProgramming”第一章Java语言基础知识--1.3-数组第1题关于Java中数组的说法正确的是:(1)数组可以动态初始化(2)数组可以赋值给Object类型的对象(3)数组创建以后,其长度可以修改(4)数组可以调用Object类的所有方法A(1)(2)(3)(4)B(1)(2)(4)C(2)(3)(4)D(2)(4)第2题对于数组的声明与使用,下列说法正确的是:对于声明Stringstr[];(1)上述声明错误,声明必须指定数组元素的个数(2)上述声明正确,声明时,无须指定数组元素的格式(3)上述声明完成后,java就给str的数组元素分配了内存(4)上述声明完成后,java没给str的数组元素分配内存(5)上述声明完成后,数组名可以直接使用,给指定数组元素赋值(6)上述声明完成后,数组名不能直接使用,需要初始化后才能使用A(1)(4)(6)B(2)(4)(6)C(1)(3)(6)D(1)(4)(5)第3题对于数组的使用,以下做法正确的是:(1)inta[]={1,2,3}(2)inta[10]=newint[10];a[10]=1;a[1]=1;(3)inta[10]={1,''2'',3};(4)inta[10];a[1]=0A(1)(2)(4)B(1)(4)C(1)(3)(4)D(1)第4题关于二维数组的创建,以下做法正确的是:(1)inta[][]=newint[4][5](2)inta[][]=newint[4][];a[0]=newint[10];a[1]=newint[20];(3)inta[][];a=newint[3][];a[0]=newint[3];a[1]={1,2};a[2]={1,2,3};A(1)(2)(3)B(1)(2)C(1)(3)D(1)第5题关于下面的程序,哪个结论是正确的()publicclassTest{publicstaticvoidmain(Stringargs[]){inta[]=newint[5];a.length=10;System.out.println(a.length);}}A程序可以通过编译并正常运行,输出结果为10B程序可以通过编译,并正常运行,输出结果为5C程序无法通过编译D程序可以通过编译,但无法正常运行第6题对于下列代码Stringstr1="java";Stringstr2="java";Stringstr3=newString("java");StringBufferstr4=newStringBuffer("java");以下表达式的值为true的是()Astr1==str2Bstr1==str4Cstr2==str3Dstr3==str4第7题下列声明二维数组的语句不合法的是()Acharc[][]=newchar[2][3];Bcharc[][]=newchar[6][];Cchar[][]c=newchar[3][3];Dchar[][]c=newchar[][4];第一章Java语言基础知识--1.4-算法的流程控制第1题if语句是Java程序中的哪种控制语句:A分支控制语句B循环语句C跳转语句D终止语句第2题下面哪种if语句不属于Java语言:A只有“if”的语句B只有“else”的语句C“if”-“else”语句D“if”-“elseif”-“else”语句第3题下面哪个条件运算的结果等价于简单的if-else语句:if(a>b)System.out.println(a);elseSystem.out.println(b);ASystem.out.println((a>b):a?b);BSystem.out.println((a>b):b?a);CSystem.out.println((a>b)?b:a);DSystem.out.println((a>b)?a:b);第4题下面哪种结构不属于Java的流程控制结构:A顺序结构B选择结构C循环结构D倒装结构第5题下列不能作为switch表达式参数的数据类型是:AintBcharClongDshort第6题给定以下程序段,如下:inti=0,j=-1;switch(i){case0:j=1;case2:j=2;default:j=5;}System.out.print("j="+j);编译运行,正确的结果是:Aj=-1Bj=1Cj=2Dj=5第7题下面关于switch语句错误的是:A在同一个switch语句中,case后的值可以相同B没有break语句,也能编译运行Cdefault语句可有可无Dswitch语句中表达式的值可以是String类型第8题考查下面的程序代码:intnum1=40;intnum2=5;intans=0;if(num1/5==num2){ans=10;}if(num2%5==0){ans=20;}if(num2==0){ans=30;}else{ans=40;}System.out.println("answeris:"+ans);下面哪个是程序的输出结果:Aansweris:30Bansweris:20Cansweris:10Dansweris:40第9题假设intx=4,y=100,下列语句的循环体共执行了多少次:while(y/x>3){if(y%x>3)x=x+1;

elsey=y/x;}A1次B2次C3次D4次第10题以下程序段的输出结果是:inti=0;for(i=4;i>0;i--){if(i==1)

break;System.out.print(i);}System.out.print(i);A4321B4322C321D432第一章编程练习题第1题第2题第3题第一章编程练习题(新)第1题第2题第3题第二章类与对象--2.1-面向对象方法的特性第1题面向对象的程序设计方法采用了什么样的抽象方法构建程序的类与对象:A过程抽象B数据抽象C过程抽象与数据抽象D没有采用任何的抽象方法第2题下面关于抽象概念的描述中,不正确的是A计算机软件开发使用的抽象有过程抽象和数据抽象两种B过程抽象强调功能完成的过程和步骤C过程抽象按照功能将整个系统的不同部分抽象成不同的类D数据抽象的每个抽象数据类型包含了数据和针对这些数据的操作第3题下面关于面向对象概念的描述中,不正确的一项是A在现实生活中,对象是指客观世界的实体B程序中的对象就是现实生活中的对象C在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类D在程序中,对象是一组变量和相关方法的集合第4题下列不属于面向对象程序设计的基本特征的是:A抽象B封装C继承D静态第5题Java的封装性是通过什么实现的:A访问控制权限B设计内部类C静态域与静态方法D包第6题Java语言间的继承关系是:A单继承B多继承C单继承和多继承D不能继承第7题以下说法中对Java中定义的父类与子类的关系描述正确是的:A一个子类可以有多个父类,一个父类也可以有多个子类B一个子类可以有多个父类,但一个父类只可以有一个子类C一个子类可以有一个父类,但一个父类可以有多个子类D上述说法都不对第二章类与对象--2.2-1-类声明与对象创建第1题类与对象的关系是:A类是对象的抽象B对象是类的抽象C对象是类的子类D类是对象的具体实例第2题关于Java中类的声明,下面哪个关键字是必须有的:ApublicBclassCextendsDimplements第3题在Java类的声明中,类体包含了哪些内容:A变量成员声明及初始化B方法声明C方法体D以上所有内容第4题在创建某类的对象时应该:A先声明对象,然后才能使用对象B先声明对象,为对象分配内存空间,然后才能使用对象C先声明对象,为对象分配内存空间,再初始化对象,然后才能使用对象D以上述说法都对第5题假设已经声明了一个类A的两个对象a1、a2,为了初始化a1和a2,下面语句正确的是:Aa1,a2=newA();Ba1=new();a2=new();Ca1=new();a2=new();Da1=newA();a2=newA();第二章类与对象--2.2-2-数据成员第1题下面关于变量的说法,哪个是不正确的:A实例变量是类的成员变量B类变量用关键字static声明C类变量可以用<实例名>.<类变量名>访问D实例变量可以用<类名>.<实例变量名>访问第2题关于下面的程序,哪个说法是正确的:publicclassPerson{

staticStringa[]=newString[5];

publicstaticvoidmain(Stringargv[]){

System.out.println(a[0]);

}}A编译时将产生错误B编译错误,运行时将产生异常C输出为nullD输出0第3题下面程序的输出结果是:classMyclass{

staticintmember;}publicclassTest{

publicstaticvoidmain(Stringargs[]){MyclassA=newMyclass();MyclassB=newMyclass();Myclass.member=1;A.member=2;B.member=3;System.out.println("member="+Myclass.member);

}}Amember=1Bmember=2Cmember=3Dmember=0第4题类变量的修饰符是:AstaticBclassCpublicDvoid第二章类与对象--2.2-3-方法成员第1题考虑以下的方法头声明:publicvoidmyMethod(intnum,charletter)下面哪个描述是正确的:A这个方法有个int型的参数,它的形式参数是letterB这个方法有个int型的参数,它的形式参数是numC这个方法有个char型的参数,它的实际参数是myMethodD这个方法是一个构造方法第2题假设有个类已经定义了下述的变量:intnum1=10;intnum2=20;Stringword=newString("exam");doubleanswer=25.5;另外定义了下列方法头:publicintstuff(Strings,intx,inty)以下哪个是正确的方法调用:Anum1=stuff("hello",num1,num2);Banswer=stuff(word,answer,num2);Cnum2=stuff("hello",num1,answer);Dnum1=stuff(num1,num2,answer);第3题要获取以下MyClass类中member的值,采用的语句是:publicclassMyclass{

publicstaticintmember=1;

publicstaticintgetmember(){

returnmember;

}};AMyClass.member()BMyClass().memberCMyClass.member或者MyClass.getmember()DMyClass().member或者MyClass().getmember()第4题在Java中,以下哪一个关键字使类不能派生出子类:AfinalBpublicCprivateDvolatile第二章类与对象--2.2-4-包第1题下列选项中,用于声明包名的关键字是:AimportBpackageCinterfaceDprotected第2题下列选项中,用于引入其他包的关键字是:AimportBpackageCinfterfaceDprotected第3题以下程序片段,下列哪个选项插入到第2行将引起编译错误:1.packagemypackage;2.3.classMyclass{4.//dosomething5.}ApublicclassMainClass{}Bpackagemypackage1;CclassB{}Dimportjava.util.*;第4题下面哪个代码片段是错误的:Apackagemypackage;publicclassRectangle{//doingsomething...}Bimportjava.io.*;packagemypackage;publicclassRectangle{//doingsomething...}

Cimportjava.io.*;classCircle{//doingsomething...}publicclassRectangle{//doingsomething...}Dimportjava.io.*;importjava.awt.*;publicclassRectangle{//doingsomething...}第二章类与对象--2.2-5-类的访问权限控制第1题某类的成员方法只能被自己调用,修饰该方法的是:ApublicBprotectedCprivateD无修饰符第2题另外的类要获取以下MyClass类中member的值,采用的语句是:AMyClass.memberBnewMyClass().memberCMyClass.getMember()DMyClass().getMember()第3题下列代码在编译时会发生错误,下面哪种修改可以更正错误:A将privateintm改成protectedintmB将privateintm改成publicintmC将privateintm改成staticintm

D将privateintm改成intm第4题下面哪个关键字不是类及成员的访问控制符:ApublicBprivateCstaticDprotected第二章类与对象--2.3-1-对象初始化第1题下列哪一项不是构造方法的特点:A构造方法名必须与类名相同B构造方法不具有任何返回类型C任何一个类都含有构造方法D构造方法修饰词只能是public第2题关于Java的构造函数,下列说法哪个正确:A所有类都必须定义一个构造函数B构造函数必须有返回值C构造函数可以访问类的非静态成员D构造函数必须初始化类的所有数据成员第3题给定如下代码,要在第三个构造方法的空白处填上一行代码使之能够调用第二个构造方法,这行代码应该是:ACircle(n,a);Bthis(Circle(n,a));Cthis(n,a);Dthis(name,a);第4题类Line的定义如下,其中的this代表的是:Athis指针B类名LineC父类的对象DLine类实例的当前对象引用第二章类与对象--2.3-2-内存回收第1题关于Java的内存回收,下面哪一项是正确的:A程序员必须创建一个线程来释放内存B内存回收程序允许程序员直接释放内存C内存回收程序负责释放无用内存D内存回收程序可以在指定的时间释放内存对象第2题以下代码的运行结果是:A《罗马假日》所对应的实例对象存储单元被回收B《飘》所对应的实例对象存储单元被回收C《Java程序语言设计》所对应的实例对象存储单元被回收D《未知书籍》所对应的实例对象存储单元被回收第二章类与对象--2.4-枚举类第1题关于枚举定义说法正确的是:A定义枚举的关键字是:classB枚举中只能有常量C枚举是一种特殊的类,因为它的对象的个数是有限的D枚举中不能定义抽象方法第2题下面关于枚举类型,说法错误的是:A枚举值是类的对象B枚举中可以定义数据和方法C枚举类的values()方法用于获得枚举类型的枚举值的数组D枚举类型可以有public的构造函数第3题下面程序的输出结果是什么:A春季,夏季,秋季,冬季B春季,夏季,秋季,冬季,C春季,夏季,秋季,冬季,,D春季,,夏季,,秋季,,冬季,,第二章编程练习题第1题第2题第3题第二章编程练习题(新)第1题第2题第3题第三章类的重用--3.1.1-3.1.2-类继承的概念和语法第1题Java类继承的层次结构为A树状结构B星状结构C网格结构D环形结构第2题关于父类和子类的下列说法中,正确的是A一个子类可以有多个父类B一个父类可以有多个子类C一个父类只可以有一个子类D以上说法都不对第3题关于继承的下列说法中,正确的是A一个类可以继承自父类,也可以不继承自父类B一个父类必须被子类继承后才能被实现C在类继承的树形结构中,有多个根节点D以上都不对第4题A类有a、b、c三个public变量成员,B类继承自A,并且增加了自己的public变量成员d,C继承自A,增加了自己的public变量成员e,则下列说法中错误的是AA类拥有c成员BB类拥有b成员CC类拥有d成员DB类拥有c成员第5题A类继承自B类,那么A类中不可以使用AB类的保护方法BB类的公有属性CB类的私有属性DA类的私有属性第三章类的重用--3.1.3-隐藏和覆盖第1题A类有属性balance,A类继承自B类,覆盖了balance属性,下面在A中哪种方法访问的是B类的balance属性AbalanceBbalanceCsuper.balanceDsuper.getBalance()正确答案:CD第2题在以下哪几种情况下需要进行方法的覆盖A子类的方法和父类功能相同,但实现细节不同B在名字相同的方法中要做更多的事情C子类中要取消从父类继承的方法D以上都不是正确答案:ABC第3题下面关于Java的隐藏和覆盖的说法,正确的是A覆盖方法时需要保证方法名完全相同B覆盖方法时不需要参数列表完全相同C覆盖方法时需要返回值可以不同D进行变量隐藏时不能够修改变量类型第三章类的重用--3.2-Object类第1题关于Object类,下面说法正确的是Aequals方法可以比较两个对象的属性值是否相等B如果两个对象同一,那么它们不一定相等C如果两个对象相等,那么它们一定同一Dfinalize()方法可以被直接调用第2题下面这段代码的输出为(忽略换行)AYESNOBNOYESCYESYESDNONO第3题在Java中,Object类是所有类的直接或间接父类,下面哪种方法不属于Object类Aequals(Object)BgetClass()CtoString()Dtrim()第三章类的重用--3.3-终结类与终结方法第1题假定类A有一个方法voidmethod(),如果要求能够通过类名A直接调用method(),则其方法定义应该为Astaticvoidmethod()Bpublicvoidmethod()Cfinalvoidmethod()Dabstractvoidmethod()第2题如果需要抛出异常,可能会使用下面哪些关键字AfinalBfinallyCfinalizeDcatch正确答案:BD第3题下面程序的运行结果是(忽略换行)A22B2aC运行错误,因为C的final方法不能被重写D运行错误,因为A重写method时参数表不一样第4题不能用来修饰interface的有AprivateBpublicCfinalDstatic正确答案:ACD第5题下面哪个类声明是正确的AabstractfinalclassA;Babstractprivatemove();Cprotectedprivatenumber;DpublicabstractclassB;第6题final类和方法的存在处于以下哪些方面的考虑A安全方面B设计方面C代码结构简单D能够提高运行效率正确答案:ABD第三章类的重用--3.4-抽象类第1题下面关于抽象类和抽象方法的说法中,错误的是A抽象类可以包含非抽象方法B抽象类可以包含接口方法C抽象类可以包含抽象方法D抽象类不可以被实例化第2题下面哪些是合法的抽象类定义AabstractA{abstractvoidmethod()}BclassabstractB{abstractvoidmethod()}CabstractclassC{abstractvoidmethod()}DabstractclassD{abstractvoidmethod(){System.out.println(''d'')}}第3题下面关于抽象方法的说法中,正确的是A可以有方法体B可以出现在非抽象类中C没有方法体D抽象类中的方法都被称为抽象方法第4题下面的说法正确的是Aabstract可以修饰字段、方法和类B抽象方法的body部分必须用大括号包住,但是需要为空C声明抽象方法,大括号可有可以没有D抽象方法没有方法体第三章类的重用--3.5-泛型第1题Java泛型机制的优点有A可以使代码编写变得简单B比较安全C消除对Object类的强制类型转换D使得代码运行性能增强正确答案:ABC第2题下面的代码运行结果为Atest.ABtest.BCjava.lang.Integer第三章编程练习题第1题第2题第3题第三章编程练习题(新)第1题第2题第3题第四章接口与多态--4.1-接口第1题下面关于接口的说法正确的是:A接口具有多重继承性,一个接口可以继承多个父接口B接口中定义的数据,都是变量C接口中定义的方法,可以在定义时提供实现D接口用abstract修饰第2题关于接口和抽象类的说法,正确的是:A接口和抽象类都具有多重继承性,即一个可以继承多个B不相关的类可以实现同一个接口,而抽象类属于一个类的继承体系,且一般位于类体系的顶层C抽象类和接口都必须对数据成员进行初始化D抽象类和接口都可以在定义时提供实现方法体第3题以下是接口I的定义:interfaceI{voidsetValue(intval);intgetValue();}以下哪段代码能够通过编译:AclassAextendsI{intvalue;publicvoidsetValue(intval){value=val;}publicintgetValue(){returnvalue;}}BclassBimplementsI{intvalue;voidsetValue(intval){value=val;}publicintgetValue(){returnvalue;}}CinterfaceCextendsI{voidadd();}DinterfaceDimplementsI{voidadd();}第4题已知MyInterface是一个接口,ClassA是实现了MyInterface的一个类,ClassB是ClassA的一个子类,则下列哪个语句是正确的AClassBobj=newClassA();BMyInterfaceobj=newClassB()CClassAobj=newMyInterface()DMyInterfaceobj=newMyInterface()第5题关于接口声明的语法,以下说法错误的是A接口中的数据成员一定要有初值,且此值不能再更改,final关键词不可省略B接口中的方法必须是“抽象方法”,不能有方法体,可以省略public及abstract关键字第6题关于接口实现的语法,正确的是A可以用new运算符,直接产生接口对象B必须实现接口中的所有方法C来自接口的方法实现可以声明成private第7题A和B是两个定义好的接口,若类C想要实现这两个接口,以下做法正确的是AclassCextendsAimplentsB{}BclassCimplementsA,B{}CclassCimplementsAextendsB{}DclassCextendsA,B第8题A,B是两个定义好的接口,若接口C想要拓展这两个接口,以下做法正确的是AinterfaceCextendsA,B{}BinterfaceCimplementsA,B{}CclassCextendsA,B{}DclassCimplementsA,B{}第9题接口的所有成员方法都具有()修饰的特性。Aprivate,finalBpublic,abstactCstaticprotectedDstatic第四章接口与多态--4.2.1-4.2.2-类型转换第1题下面关于类型转换的说法正确的是(1)在基本类型的转换中,是将值从一种类型转换成另一种类型(2)在引用类型的转换中,将引用转换为另一种类型的引用,不会改变对象本身的类型(3)当一个引用被转为其超类引用后,通过他能够访问的只有在超类中声明过的方法。A(1)(2)(3)B(1)(3)C(1)D(1)(2)第2题下列关于引用变量的类型转换规则,下列说法正确的是(1)可以将引用类型转换为任何一个(间接或者直接的)超类类型(2)可以将引用类型转换为对象所属的类(及其超类)实现的一个接口(3)可以将引用类型转换为引用所指向的对象的类型A(1)(2)(3)B(1)(3)C(1)D(1)(2)第3题对于类A,B,C,D和接口IA,IB,IC有以下的定义,classA{}classBextendsAimplementsIA{}classCextendsBimplementsIB{}classDextendsBimplementsIC{}interfaceIA{}interfaceIBextendsIA{}interfaceICextendsIA{}AtmpA=newA()BtmpB=newB()CtmpC=newC()DtmpD=newD()则下列使用方法中正确的是()AtmpB=tmpABtmpC-tmpDCtmpA=tmpCDtmpD=tmpB第4题对于题3中的类A,B,C,D和接口IA,IB,IC,下列类型转换中,正确的是()AIBib=newD()BICic=newD()CIAia=newC()DDd=newB()正确答案:BC第5题对于题3中的类A,B,C,D和接口IA,IB,IC,下列类型转换中,正确的是()AtmpA=tmpB;Bb=(B)tmpA;BtmpA=tmpB;Bb=tmpA;第四章接口与多态--4.2.3-方法的查找第1题关于塑形中方法的查找,以下说法正确的是(1)对于实例方法,总是从原始类开始,沿类层次向上查找(2)对于类方法,总是在变量声明所属的类中进行查找A(1)(2)都对B(1)错(2)对C(1)对(2)错D(1)(2)都错第2题已知importjava.io.*;classPerson{publicstaticvoidprint(){System.out.print("Person");}}classEmployeeextendsPerson{publicvoidprint(){System.out.print("Employee");}}classManagerextendsEmployee{publicvoidprint(){System.out.print("Manager");}}publicclassTest{publicstaticvoidmain(String[]args){Managerman=newManager();Employeeemp1=newEmployee();Employeeemp2=(Employee)man;Personperson=(Person)man;emp2.print();System.out.print("#");person.print();}}对于以上代码,其输出结果是AEmployee#PersonBManager#PersonCEmployee#ManagerDManager#Manager第3题对于题2中的Person,Employee,Manager的print方法,若均是static的方法,其输出结果是AEmployee#PersonBManager#PersonCEmployee#ManagerDManager#Manager第四章接口与多态--4.3-多态的概念第1题importjava.io.*;classPerson{publicvoidprint(){System.out.print("Person");}}classEmployeeextendsPerson{publicvoidprint(){System.out.print("Employee");}}classManagerextendsEmployee{publicvoidprint(){System.out.print("Manager");}}publicclassTest{publicstaticvoidmain(String[]args){Managerman=newManager();Personperson1=newManager();Personperson2=newEmployee();person1.print();person2.print();}}对于上述代码,其结果输出为AManagerEmployeeBPersonPersonCManagerPersonDPersonManager第2题若所有print方法均为static,则其结果输出为AManagerEmployeeBPersonPersonCManagerPersonDPersonManager第四章接口与多态--4.4-多态的应用举例第1题importjava.io.*;classPerson{publicvoidprint(){System.out.print("Person");}publicvoidprintMyGender(Strings){this.print();System.out.print(s+"");}}classGender{Stringtype="gender";publicvoidprint(Personp){p.printMyGender(type);}}classFemaleextendsGender{publicFemale(){type="female";}}classMaleextendsGender{publicMale(){type="male";}}classEmployeeextendsPerson{publicvoidprint(){System.out.print("Employee");}}classManagerextendsEmployee{publicvoidprint(){System.out.print("Manager");}}publicclassTest{publicstaticvoidmain(String[]args){Managerman=newManager();Employeeem=newEmployee();Gendergender1=newMale();Gendergender2=newFemale();gender1.print(man);gender2.print(em);}}对于以上代码,其运行结果是APersonmalePersonfemaleBPersongenderPersongenderCManagermaleEmployeefemaleDManagergenderEmployeegender第四章接口与多态--4.5-构造方法与多态性第1题阅读下面的程序,输出结果是()publicclassTestDemo{intm=5;publicvoidsome(intx){m=x;}publicstaticvoidmain(String[]args){newDemo().some(7);}}classDemoextendsTestDemo{intm=8;publicvoidsome(intx){super.some(x);System.out.println(m);}}A5B8C7D无法确定第2题关于下面的程序,说法正确的是()classBase{intm;publicBase(intm){this.m=m+1;}}publicclassTestDemoextendsBase{publicTestDemo(){m=m+1;}publicstaticvoidmain(Stringargs[]){TestDemot=newTestDemo();System.out.println(t.m);}A输出结果为0B输出结果为1C输出结果为2D编译错误第3题关于下面的程序,说法正确的是()classBase{intm;publicBase(intm){this.m=m+1;}publicBase(){this.m=0;}}publicclassTestDemoextendsBase{publicTestDemo(){m=m+1;}publicstaticvoidmain(Stringargs[]){TestDemot=newTestDemo();System.out.println(t.m);}}A输出结果为0B输出结果为1C输出结果为2D编译错误第4题关于下面的程序,编译和运行后输出结果是()classBase{intm=2;publicintgetM(){returnm;}}publicclassTestDemoextendsBase{intm=1;publicintgetM(){returnm+super.m;}publicstaticvoidmain(Stringargs[]){TestDemot=newTestDemo();System.out.println(t.m+"#"+t.getM());}}A1#3B2#3C1#2D2#4第5题关于以下程序,其编译和运行结果为()classBase{publicBase(){System.out.print("B");}}publicclassTestDemoextendsBase{intm=1;publicTestDemo(){System.out.println("A");}publicstaticvoidmain(Stringargs[]){TestDemot=newTestDemo();}}AABABCBADBB第6题对于一下程序,其运行结果为classBase{publicBase(){System.out.print("C");}}classBase2extendsBase{publicBase2(){System.out.print("B");}}publicclassTestDemoextendsBase2{intm=1;publicTestDemo(){System.out.println("A");}publicstaticvoidmain(Stringargs[]){TestDemot=newTestDemo();}}ACBABBACADABC第7题B继承A,C继承B,在Java源代码中有如下声明,Aa0=newA();Aa1=newB();Aa2=newC();以下哪个说法是正确的A只有a0能通过编译B只有a0和a1能通过编译Ca0,a1,a2能通过编译,但是第二行和第三行运行时出错Da0,a1,a2的声明都是正确的第8题对于以下类,classA{}classBextendsA{}classCextendsA{}publicclassTest{publicstaticvoidmain(String[]args){Ax=newA();By=newB();Cz=newC();//此处插入一条语句}}以下哪个语句可以放到插入行Ax=yBz=xCz=(C)yDy=(A)y第四章编程作业第1题第2题第3题第四章编程作业(新)第1题第2题第3题第五章输入输出--5.1.1-5.1.2-异常处理的概念第1题下列哪种操作不会抛出异常?A打开不存在的文件B用负数索引访问数组C浮点数除以0D浮点数乘以0第2题Java程序运行时会自动检查数组的下标是否越界,如果越界,会抛出下面的哪一个异常?ASQLExceptionBIOExceptionCArrayIndexOutOfBoundsExceptionDSecurityManager第3题下面的程序编译后用以下命令运行:javaExceptionDemohello,运行的情况是:A先输出hello,然后发生异常,异常类型是ArithmeticExceptionB先发生异常,异常类型是IOExceptionC先输出hello,然后发生异常,异常类型是ArrayIndexOutOfBoundsExceptionD程序正常输出信息hello第五章输入输出--5.1.3-5.1.5-异常的处理第1题如果一个程序中有多个catch语句,则程序会按如下哪种情况执行:A找到合适的异常类型后执行后面的catch语句B找到每个符合条件的catch都要执行一次C找到合适的异常类型处理后就不再执行后面的catch语句D对每个catch语句都执行一次第2题对异常处理语句try-catch-finally,下面那个说法是正确的:A如果有多个catch语句,对所有的catch语句都会执行一次B如果有多个catch语句,对每个符合条件的catch都会执行一次C多个catch的情况下,异常类的排列顺序应该是父类在前,子类在后D一般情况下,finally部分都会被执行一次第3题程序员将可能发生异常的代码放在()块中,无论如何都需要执行的代码在()块中:Acatch、tryBtry、finallyCtry、exceptionDtry、final第4题如果执行下面的example方法时,unsafe()有异常,则输出的结果是:A123B234C23D34第五章输入输出--5.2-输入输出流的概念第1题下面哪个不属于Java标准输入输出流ASystem.inBSystem.outCSystem.streamDSystem.err第2题下面哪个流属于面向字符的输入流ABufferedWriterBFileInputStreamCObjectInputStreamDInputStreamReader第3题如果需要从文件中读取数据,可以在程序中创建哪一个对象AFileInputStreamBFileOutputStreamCDataOutputStreamDFileWriter第4题下面哪些类是节点流AFileInputStreamBObjectInputStreamCPipedOutputStreamDFilterOutputStream正确答案:AC第5题下面哪些类是字符流AFileInputStreamBFileOutputStreamCFileWriterDInputStreamReader正确答案:CD第6题下面哪些设备既可以是JavaI/O的数据源,也可以是目标A键盘B磁盘文件C网络连接D扫描仪正确答案:BC第五章输入输出--5.3.1-写文本文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论