面向对象程序设计AJAVAA.docx
《面向对象程序设计AJAVAA.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计AJAVAA.docx(20页珍藏版)》请在冰豆网上搜索。
面向对象程序设计AJAVAA
班级学号姓名
密封装订线密封装订线密封装订线
XX大学2008-2009学年第
(一)学期考试试卷
课程代码 课程名称面向对象程序设计A(JAVA)考试时间120分钟
题号
一
二
三
四
五
总成绩
得分
阅卷教师签字:
A卷
注意事项:
1.答题前,请先在试卷和机读卡上对应位置用钢笔准确清楚的填写上本人姓名和学号,机读卡的科目栏里填写年级和专业的简称,并用2B铅笔填涂学号(必须填在前8列,剩最右边的一列不填涂);
2.试卷答案必须用2B铅笔在机读卡上按对应题号准确、清楚涂写,答在试卷上无效;
本试卷共65个小题,1~60小题填写在机读卡上,按【1】~【60】的编号顺序涂写。
61~65题做在答题卷上。
【1】~【40】每题1分,【41】~【60】每题2分。
【61】~【65】每题4分,做在答题卷上,共100分。
一、判断题(本大题共10小题,每小题1分,共10分,正确的填A,错误的填B)
1.Java中不能存在同名的两个成员方法。
2.实现一个接口,则在类中一定要实现接口中定义的所有方法。
3.可以从一个static方法内部发出对非static方法的调用。
4.类的构造函数名必须和类名相同。
5.Frame默认的布局管理器是BorderLayout。
6.Java一个类只能实现一个接口。
7.Java语言的一个显著特点就是引入了垃圾回收机制。
8.接口中所有方法均为抽象方法。
9.类的public类型的成员变量不能被继承。
10.用Javac编译Java源文件后得到的文件叫字节码文件。
二、单项选择题(本大题共30小题,每小题1分,共30分)
在每小题列出的四个选项中,只有一个是符合题目要求的,请将其代码填在后面的答题卷上。
错选或未选均无分。
11.异常包含下列那些内容?
A)程序中的语法错误 B)程序的编译错误
C)程序执行过程中遇到的事先没有预料到的情况
12.D)程序事先定义好的可能出现的意外情况
13.下列关于构造方法的叙述中,错误的是
A)Java语言规定构造方法名与类名必须相同
B)Java语言规定构造方法没有返回值,但不用void声明
14.C)Java语言规定构造方法不可以重载
D)Java语言规定构造方法只能通过new自动调用
15.每个Java小应用程序必须定义为
A)Applet类或JApplet类的子类B)JFrame类的子类
C)Frame的子类D)Window的子类
16.在Applet的init()方法被调用后,接下来最先被调用的方法是
A)run()B)start()C)stop()D)destroy()
17.作为Java应用程序图形界面基础的是___。
A)PanelB)FrameC)WindowsD)Applet
18.Java不允许多重继承,而利用____的设计来达到多重继承的目的。
A)类 B)接口 C)对象D)方法
19.下列哪个类声明是正确的?
A)abstractfinalclassHI{···}B)abstractprivatemove(){···}
C)protectedprivatenumber;D)publicabstractclassCar{···}
20.Java的核心包中,提供编程应用的基本类的包是
A)Java.appletB)Java.utilC)Java.langD)Java.rmi
21.下列关于Java对import句规定的叙述中,错误的是
A)在Java程序中import语句可以有多个
B)在Java程序中import语句可以没有
C)在Java程序中import语句必须有一个
D)在Java程序中import语句必须引入在所有类之前
22.下列的哪个选项可以正确用以表示八进制值8?
A)0x8B)0x10C)08D)010
23.下列关于继承的哪项叙述是正确的?
A)在java中允许多重继承
B)在java中一个类只能实现一个接口
C)在java中一个类不能同时继承一个类和实现一个接口
D)java的单一继承使代码更可靠
24.下列关于Frame类的说法不正确的是
A)Frame是Window类的直接子类B)Frame对象显示的效果是一个窗口
C)Frame被默认初始化为可见D)Frame的默认布局管理器为BorderLayout
25.下列Java常见事件类中哪个是鼠标事件类?
A)InputEventB)KeyEventC)MouseEventD)WindowEvent
26.下列哪个是面向大型企业级用容器管理专用构件的应用平台?
A)J2EEB)J2MEC)J2SED)J2DE
27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为___。
A)隐藏B)覆盖C)重载D)封装
28.下列InputStream类中哪个方法可以用于关闭流?
A)skip()B)close()C)mark()D)reset()
29.如果一个Java源程序文件中定义了4个类,则编译后会生成几个.class文件。
A)x=1B)x=2C)x=3D)x=4
30.Whichstatementiscorrectlydeclareavariableawhichissuitableforreferingtoanarrayof50stringemptyobject?
A)String[]a B)chara[][] C)Stringa[50] D)Objecta[50]
31.WhatusetopositionaButtoninaFrame,sizeofButtonisnotaffectedbytheFramesize,whichLayoutButtonwillbeset?
A)FlowLayout; B)GridLayout;
C)NorthofBorderLayout D)SouthofBorderLayout
32.AnAWTGUIunderexposurecondition,whichoneormoremethodwellbeinvokewhenitredraw?
A)paint(); B)update(); C)repaint(); D)drawing();
33.SelectvalididentifierofJava:
A)user-Name B)%passwd C)3d_game D)$charge
34.Whichistherangeofchar?
A)27~27-1 B)0~216 C)0~216-1 D)0~28
35.Theargumentforaclass’smain()methodiscalledargs,andtheclassisinvokedasfollows.
javaExamplecat
Whatwouldbetheeffectoftryingtoaccessargs[0]inthemainmethod?
A)Thevalueproducediscat
B)Thevalueproducedisjava
C)ThevalueproducedisExample
D)AnobjectoftypeArrayIndexOutofBoundsExceptionisthrown.
36.Whichcontainsobjectswithoutordering,duplication,oranyparticularlookup/retrievalmechanism?
A)Map B)Set C)List D)Collection
37.WhichcorrectlycreateanarrayoffiveemptyStrings?
A)Stringa[5];B)String[5]a; C)Stringa[]={‘’,‘’,‘’,‘’,‘’};
D)String[]a=newString[5];
for(inti=0;i<5;a[i]=null);
38.WhichcannotbeaddedtoaContainer?
A)anApplet B)aComponent C)aPanel D)aMenuComponent
39.WhichisthereturnvalueofEventlistener’smethod?
A)StringB)AWTEventC)voidD)int
40.Whichcorrectlycreateatwodimensionalarrayofintegers?
A)inta[][]=newint[][]; B)inta[10][10]=newint[][];
C)inta[][]=newint[10][10]; D)int[][]a=newint[][10];
41.Aclassdesignrequiresthatamembervariableshouldbeaccessibleonlybysamepackage,whichmodiferwordshouldbeused?
A)protected B)public C)nomodifer D)private
42.Whichmodifershouldbeappliedtoadeclarationofaclassmembervariableforthevalueofvariabletoremainconstantafterthecreationoftheobject?
A)final B)const C)abstractor D)static
三、单项选择题(本大题共20小题,每小题2分,共40分)
在每小题列出的四个选项中,只有一个是符合题目要求的,请将其代码填在后面的答题卷上。
错选或未选均无分。
43.下列代码的执行结果是
publicclassTest{
publicintaMethod(){
staticinti=0;
i++;
System.out.println(i);
}
publicstaticvoidmain(Stringargs[]){
Testtest=newTest();
test.aMethod();
}
}
A)编译错误B)0C)1D)运行成功,但不输出
44.已知有下列类的说明,则下列哪个语句是正确的?
publicclassTest{
privatefloatf=1.0f;
intm=12;
staticintn=1;
publicstaticvoidmain(Stringarg[]){
Testt=newTest();
}
}
A)t.f;B)this.n;C)Test.m;D)Test.f;
45.以下程序段执行后将有()个字节被写入到文件file1.txt中。
try{
FIleOutputStreamfos=newFileOutputStream("file1.txt");
DataOutputStreamdos=newDataOutputStream(fos);
dos.writeInt(3);
dos.writeDouble(4.5);
dos.close();
fos.close();
}catch(IOExceptione){}
A)16 B)12C)8D)2
46.在oneMethod()方法运行正常的情况下,程序段将输出什么?
publicvoidtest(){
try{oneMethod();
System.out.println("condition1");
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("condition2");
}catch(Exceptione){
System.out.println("condition3");
}finally{
System.out.println("finally");
}
}
A)condition1B)condition2C)condition3D)condition1
finally
47.给出下列的代码,哪行在编译时可能会有错误?
①publicvoidmodify(){
②inti,j,k;
③i=100;
④while(i>0){
⑤j=i*2;
⑥System.out.println("Thevalueofjis"+j);
⑦k=k+1;
⑧}
⑨}
A)line4B)line6C)line7D)line8
48.阅读下面程序
importjava.*;
publicclassTypeTransition{
publicstaticvoidmain(Stringargs[]){
chara='h';
intm=100;
intj=97;
intaa=a+m;
System.out.println("aa="+aa);
charbb=(char)j;
System.out.println("bb="+bb);
}
}
如果输出结果的第二行为bb=a,那么第一行的输出是
A)aa=100B)aa=204C)aa=97D)aa=104
49.Givethefollowingmethod:
publicvoidexample(){
try{
unsafe();
System.out.println(“Test1”);
}catch(SafeExceptione){System.out.println(“Test2”);
}finally{System.out.println(“Test3”);}
System.out.println(“Test4”);
Whichdon’twilldisplayifmethodunsafe()runnormally?
A)Test1 B)Test2 C)Test3 D)Test4
50.ThefollowingcodeisentirecontentsofafilecalledExample.java,causespreciselyoneerrorduringcompilation:
1)classSubClassextendsBaseClass{
2)}
3)classBaseClass(){
4)Stringstr;
5)publicBaseClass(){
6)System.out.println(“ok”);}
7)publicBaseClass(Strings){
8)str=s;}}
9)publicclassExample{
10)publicvoidmethod(){
11)SubClasss=newSubClass(“hello”);
12)BaseClassb=newBaseClass(“world”);
13)}
14)}
Whichlinewouldbecausetheerror?
A)9B)10C)11D)12
51.Givethisclassoutline:
classExample{
privateintx;
//restofclassbody…
}
AssumingthatxinvokedbythecodejavaExample,whichstatementcanmadexbedirectlyaccessibleinmain()methodofExample.java?
A)Changeprivateintxtopublicintx B)changeprivateintxtostaticintx
C)Changeprivateintxtoprotectedintx D)changeprivateintxtofinalintx
52.Givethefollowingclassdefinationinseparatesourcefiles:
publicclassExample{
publicExample(){//dosomething}
protectedExample(inti){//dosomething}
protectedvoidmethod(){//dosomething}
}
publicclassHelloextendsExample{//membermethodandmembervariable}
WhichmethodsarenotcorrectedaddedtotheclassHello?
A)publicvoidExample(){} B)publicvoidmethod(){}
C)protectedvoidmethod(){} D)privatevoidmethod(){}
53.Givethecodefragment:
1)switch(x){
2)case1:
System.out.println(“Test1”);break;
3)case2:
4)case3:
System.out.println(“Test2”);break;
5)default:
System.out.println(“end”);
6)}
whichvalueofxwouldcause“Test1”totheoutput:
A)1 B)2 C)3 D)default
54.Giveincompletedmethod:
1)
2){if(unsafe()){//dosomething…}
3)elseif(safe()){//dotheother…}
4)}
Themethodunsafe()wellthrowanIOException,whichcompletesthemethodofdeclarationwhenaddedatlineone?
A)publicIOExceptionmethodName()
B)publicvoidmethodName()
C)publicvoidmethodName()throwIOException
D)publicvoidmethodName()throwsIOException
55.Givethecodefragment:
if(x>4){
System.out.println(“Test1”);}
elseif(x>9){
System.out.println(“Test2”);}
else{
System.out.println(“Test3”);}
Whichrangeofvaluexwouldproduceofoutput“Test2”?
A)x<4 B)x>4 C)x>9 D)None
56.Givethefollowingjavaclass:
publicclassExample{
publicstaticvoidmain(Stringargs[]){
staticintx[]=newint[15];
System.out.println(x[5]);
}
}
Whichstatementiscorrected?
A)Whencompile,someerrorwilloccur. B)Whenrun,someerrorwilloccur.
C)Outputiszero. D)Outputisnull.
57.Whatiswrittentothestandardoutputgiventhefollowingstatement:
System.out.println(4|7);
Selecttherightanswer:
A)4 B)5 C)6 D)7
58.Whatiswrittentothestandardoutputgiventhefollowingstatement:
System.out.print