第0页Java面向对象程序设计试卷(九)题序一二三四五六七八九十十一十二总评计分一、填空题(共12小题,每空1分,共20分)1、Java是面向对象的编程语言,体现在、和等三个特点。2、设intx=17,y=5;执行语句x%=x++/--y后x的值为。3、Java中所有类都是类的子类。引用ArrayList和Vector都要加载的语句是______。4、用FileInputStream类创建文件(c:\test.txt)对象的语句是,DataInputStream对象提供方法可以按行读取文件内容。5、Java编写一个线程可以用和来实现。线程通过方法可以休眠一段时间,然后恢复运行,当时,线程进入死亡状态。6、写出三个常见Exception的子类:、和。11、使用方法为组件设置布局管理器,JFrame的缺省布局管理器是,内容面板的缺省布局管理器是。12、Java中监听按钮事件的接口是__________________,监听下拉选项事件的接口是。二、选择题(共10小题,每题2分,共20分)1、下面哪些是不合法的变量名称?()A)2DB)TrueC)_nameD)T12、下列变量定义不正确的是:()A、booleanstatus=false;B、floatd=45.6;C、intk=1+’1’;D、floatf=1/4;3、下列数组的定义不合法的是:()A)charc[][]=newchar[2][3];B)charc[][]=newchar[6][];C)char[][]c=newchar[][4];D)int[]a[]=newint[10][10];4、如果一个程序段中有多个catch,则程序会按如下哪种情况执行?()A)找到合适的异常类型后继续执行后面的catchB)找到每个符合条件的catch都执行一次C)找到合适的异常类型后就不再执行后面的catchD)对每个catch都执行一次5、下列说法哪个是正确的?()A)子类不能定义和父类同名同参数的方法B)子类只能继承父类的方法,而不能重载C)重载就是一个类中有多个同名但有不同形参和方法体的方法D)子类只能覆盖父类的方法,而不能重载第1页6、对于下列代码:publicclassParent{publicintaddValue(inta,intb){ints;s=a+b;returns;}}classChildextendsParent{intvalue;……}下述哪个方法不可以加入类Child?()A)publicintaddValue(inta,intb){returna+b;}B)publicvoidaddValue(inta,intb){value=a+b;}C)publicintaddValue(inta){returna+1;}D)publicintaddValue(shorta,intb){returna+b;}7、若编译和运行下列代码,出现的结果将是___________?()interfaceMyInterface{intx=0;intmyMethod(intx);}classMyImplementationimplementsMyInterface{publicintmyMethod(intx){returnsuper.x;}}publicclassMyTest{publicstaticvoidmain(Stringargs[]){MyInterfacemi=newMyImplementation();System.out.println(mi.myMethod(10));}}A、0B、10C、编译出错D、以上答案都不对8、若编译和运行下列代码,出现的结果将是___________?()publicclassMyThreadimplementsRunnable{StringmyString=Yes;publicvoidrun(){this.myString=No;}publicstaticvoidmain(String[]args){MyThreadt=newMyThread();newThread(t).start();for(inti=0;i10;i++)System.out.print(t.myString);第2页}}A、打印yesyesyesyesyesyesyesyesyesyesB、打印nonononononononononoC、打印yesnoyesnoyesnoyesnoyesnoD、打印结果无法确定9、下列说法哪个是不正确的?()A)方法中的形参可以和方法所属类的属性同名。B)接口无构造器,不能有实例,也不能定义常量。C)利用File对象可以判断一个文件或目录是否存在。D)在java中,高优先级的可运行线程会抢占低优先级线程10、下列说法哪个是正确的?()A)JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。B)JButton和JTextField都可用ActionListener接口实现事件处理C)一个面板(Jpanel)不能被加入到另一个面板(Jpanel)中D)在BorderLayout中,添加到NORTH区的两个按钮将并排显示。一、程序阅读题。(共5小题,每题6分,共30分)1、阅读下面的程序代码,判断18~27行(带划线部分)各语句编译是否通过,如果编译通过,直接写出该行的打印结果。1.classTestString{2.publicvoidstringReplace(Stringtext){3.text=text.replace('j','i');4.text=text+C;5.}6.publicvoidbufferReplace(StringBuffertext){7.text.setCharAt(0,'i');8.text=text.append(C);9.}10.publicvoidchange(charch[]){11.ch[0]='Y';12.}13.publicstaticvoidmain(Stringargs[]){14.Stringstr1=java;15.StringBufferstr2=newStringBuffer(java);16.charch[]={'j','a','v','a'};17.TestStringt=newTestString();18.t.change(ch);19.t.stringReplace(str1);20.t.bufferReplace(str2);21.System.out.println(str1);22.System.out.println(str2.toString());23.System.out.println(newString(ch));24.}25.}第3页2、阅读下面的程序代码,判断26~35行(带划线部分)各语句编译是否通过,如果编译通过,直接写出该行的打印结果。1.classParentClass{2.intx=0;3.intsum(inta,intb){4.returna+b;5.}6.intsub(inta,intb){7.returna-b;8.}9.}10.classChildClassextendsParentClass{11.intx=1;12.inty=2;13.intsum(inta,intb){14.returna+b+1;15.}16.intmulti(inta,intb){17.returna*b;18.}19.}20.classTest{21.publicstaticvoidmain(Stringargs[]){22.ParentClassp=newParentClass();23.ChildClassc=newChildClass();24.ParentClasspp=c;25.ChildClasscc=(ChildClass)pp;26.System.out.println(pp.sum(5,5));27.System.out.println(pp.sub(10,5));28.System.out.println(pp.multi(10,5));29.System.out.println(pp.x);30.System.out.println(pp.y);31.System.out.println(cc.sum(5,5));32.System.out.println(cc.sub(10,5));33.System.out.println(cc.multi(5,5));34.System.out.println(cc.x);35.System.out.println(cc.y);36.}37.}第4页3、阅读下面程序代码,写出程序运行的输出结果。1.classTestException{2.publicstaticvoidmain(String[]args){3.try{4.callMethod();5.}catch(Exceptione){6.System.out.print('a');7.}8.System.out.println('b');9.}10.staticvoidcreateException(){11.thrownewArrayIndexOutOfBoundsException();12.}13.staticvoidcallMethod(){14.try{15.createException();16.System.out.print('c');17.}catch(ArithmeticExceptione){18.System.out.print('d');19.}20.finally{21.System.out.print('e');22.}23.System.out.print('f');24.}25.}4、阅读下面的程序代码,根据注释要求补充、完成代码(划线是需要补充的地方),最后简要说明该程序的功能。1.___________________{//声明一个接口,接口名为Area2.publicdoubleCalsulateArea();3.}4.classMyCircleimplementsArea{5.doubler;6.publicMyCircle(doubler){7.this.r=r;8.}9.publicdoubleCalsulateArea(){10.returnMath.PI*r*r;11.}12.}13.classMyRectangleimplementsArea{14.doublewidth,height;15.publicMyRectangle(doublew,doubleh){第5页16.width=w;17.height=h;18.19.}20.publicdoubleCalsulateArea(){21.returnwidth*height;22.}23.}24.classTestArea{25.publicstaticvoidmain(String[]args){26.//创建MyCircle的对象,对象名为c27.System.out.println(TheareaoftheCircleis+c.CalsulateArea());28.//创建MyRectangle的对象,对象名为r29.System.out.println(TheareaoftheRectangleis+r.CalsulateArea());30.31.}32.}5、阅读下面的程序代码,根据注释要求补充、完成代码(划线是需要补充的地方),最后画出程序运行结果的界面。1.importjava.awt.*;2.importjavax.swing.*;3.publicclassColorSelectextendsJFrame{4.privateJButtonok,cancel;5.privateJCheckBoxbackground,foreground;6.priva