Java面向对象程序设计试卷(七)一、选择题1、根据java标识符命名规则和风格约定,下面哪一个标识符是类名?A、XxxYyyB、xxxYyyC、XXXYYYD、xxxyyy2、下列变量定义语句中不正确的是:A、byted=312;B、shortd=312;C、intd=1+’C’;D、longd=312;3、下列数组的定义语句中不正确的是:A、intgrade[][]=newint[10][10];B、intgrade[][]=newint[][10];C、int[][]grade=newint[10][10];D、int[]grade[]=newint[10][10];4、下列说法中,哪一个是正确的?A、抽象类中定义的方法一定是抽象的。B、抽象类中一定存在抽象的方法。C、抽象类中可以没有抽象方法。D、抽象类的子类一定要实现抽象类中的抽象方法。5、关于方法的重载,下列说法哪一个是正确的?A、方法的重载是指一个类中多个方法使用相同的名字,但参数不同。B、方法的重载是指一个类中多个方法使用相同的名字,且参数相同。C、方法的重载是指子类和父类中两个方法使用相同的名字,但参数不同。D、方法的重载是指子类和父类中两个方法使用相同的名字,且参数相同。6、假定有程序段:classSupperClass{publicintaddValue(inta,intb){returna+b;}}classSubClassextendsSuperClass{intvalue;//此处插入代码}下述哪个方法可以插入到类SubClass中而不会出现编译错误?A、intaddValue(inta,intb){returna+b+1;}B、publiclongaddValue(inta,intb){value=a+b+1;}C、protectedintaddValue(inta,intb){returna+b+1;}D、publicintaddValue(inta,intb){returna+b+1;}7、若编译和运行下列代码,其结果将是classCircle{doubleradius=1;publicCircle(doubler){radius=r;}publicdoublearea(){return3.14*radius*radius;}}publicclassMyTest{publicstaticvoidmain(Stringargs[]){Circlec1=newCircle();System.out.println(c1.area());}}A、3.14B、0C、编译出错D、以上答案都不对8、下列说法中,不正确的是A、一个java源程序文件中,只能有一个public类。B、一个java源程序文件中,只能有一个package语句。C、一个java源程序文件中,可以有多个import语句。D、一个java源程序文件中,只能有一个类中可以有main方法。9、下列说法中不正确的是A、如果一个方法中定义的变量名与该方法所在类的成员变量同名,则在该方法中无法访问同名的类成员变量。B、在java接口中定义的方法一定是抽象方法。C、java接口中不能定义变量。D、java接口没有构造方法。10、下列说法中正确的是()A、JFrame对象能够被加入到另一个JFrame对象中。B、JFrame对象能够被加入到JPanel对象中。C、JPanel对象能够被加入到另一个JPanel对象中。D、JFrame对象能够被加入到JApplet对象中。11、有下列程序publicclassMyTest{publicstaticvoidmain(String[]args){try{inta1=Integer.parseInt(args[0]);inta2=Integer.parseInt(args[1]);intresult=a1/a2;System.out.println(运算结果:+result);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(下标越界);return;}catch(ArithmeticExceptione){System.out.println(除数为零);}catch(Exceptione){System.out.println(捕获了异常);}finally{System.out.println(进入Finally语句块);}}}该程序编译后,执行javaMyTest1010,则运行的结果为A、运所结果:1进入Finally语句块B、下标越界C、除数为零D、捕获了异常注:(对trycatch语句,即使前面符合条件的catch中有return语句,也会进入finally,之后再执行return)12、关于异常,以下说法正确的是A、所有异常类都是Throwable类的子类。B、Error类是Exception的子类。C、在catch语句中,异常类的排列次序无关紧要。D、运行时异常无法捕获。13、有下列程序classTestException{classMyExceptionextendsException{}publicvoidtestMethod()throwsMyException{}publicvoidtest(){testMethod();}}在publicvoidtest()后加上哪一句可以使编译不出错。A、throwMyExceptionB、throwsMyExceptionC、thrownewMyException()D、throwsnewMyException()14、下列哪一段代码能够删除文件file.txtA、Filef=newFile(“file.txt”);f.delete();B、RandomAccessFilef=newRandomAccessFile(“file.txt”,”rw”);f.delete();C、FileOutputStreamf=newFileOutputStream(“file.txt”);f.remove();D、Filef=newFile(“file.txt”);File.delete(f);15、下面哪一个流属于过滤流A、InputStreamB、FileInputStreamC、DataInputStreamD、FileReader16、下列说法错误的是:A、TCP是面向连接的协议,而UDP是无连接的协议。B、数据报传输是可靠的,可以保证包按顺序到达。C、URL代表的统一资源定位符一共包括五个部分D、Socket和ServerSocket分别表示连接的Client端和Server端17、设有以下程序段classTestException{publicstaticvoidmain(String[]args){try{return;}finally{System.out.println(finally);}}}程序编译并执行,其结果将是A、程序执行,但没有任何输出B、程序输出finallyC、程序编译时出错,提示缺少catchD、程序编译时出错,提示finally语句无法访问到。18、FlowLayout布局管理器按照组件加入容器的次序从()到()排列组件。A、上、下B、右、左C、左、右D、前、后19、有程序如下classSuperClass{privateinti=10;voidprintI(){System.out.println(i);}}classSubClassextendsSuperClass{inti=20;publicvoidprintA(){super.printI();}}classTest{publicstaticvoidmain(String[]args){SubClassc1=newSubClass();,;c1.printA();}}编译并运行程序,其结果将是A、10B、20C、编译出错D、020、下面哪一种流可以用来输入字符A、InputStreamB、OutputStreamC、InputStreamReaderD、BufferedInputStream二、判断题(阅读每一句陈述,判断其正误。在题后的括号中作相应的记号,正确的填入T,错误的填入F。)1、接口可以被另一个接口继承。(T)2、接口中只能定义符号常量和抽象方法。(T)3、private方法不能被继承,但可以被覆盖。(F)4、如果类A的一个方法m的访问权限是默认的,则m可以被同一个包中的其他类访问,也可以被其它包中A的子类访问。(F)5、类的静态变量被该类的所有对象共享。(T)6、所有的类都可以被继承。(F)7、java中是单继承,但一个类可以实现多个接口。(T)8、不管定义与否,任何类都有一个不带参数的构造方法。(F)9、语句”doublei=20.0f;”在编译时不会引起错误。(T)10、线程的sleep()方法是一个静态方法。(T)三、程序阅读题。1、仔细阅读下面的程序代码,编译和运行后,请写出该程序的输出结果。classTestException{publicstaticStringtoSeparateNumber(Stringnumber){StringformatedNumber=;try{doublen=Double.parseDouble(number);number=Double.toString(n);inti=number.indexOf('.');if(i=0){formatedNumber=number.substring(i,number.length());i=i-1;}elsei=number.length()-1;intk=0;for(intj=i;j=0;j--){formatedNumber=number.charAt(j)+formatedNumber;k=(k+1)%3;if(k==0&&j!=0)formatedNumber=,+formatedNumber;}}catch(NumberFormatExceptione){System.out.println(参数错误!要求是数字格式!);}returnformatedNumber;}publicstaticvoidmain(String[]args){System.out.println(TestException.toSeparateNumber(001200.45));System.out.println(TestException.toSeparateNumber(235A6.54));}}答案:1,200.45参数错误!要求是数字格式!2、仔细阅读下面的程序代码,编译和运行后,请写出该程序的输出结果。classFather{Stringname=Father;intage=45;intgetAge(){returnage;}StringgetName(){returnname;}voidsetAge(inta){age=a;}}classChildextendsFather{Stringname=Child;intage=18;intgetAge(){returnage+1;}}classTest2{publicstaticvoidmain(Stringargs[]){Fatherp=newChild();System.out.println(p.getAge());p.setAge(30);System.out.println(p.getAge());System.out.println(p.getName());}}答案:1919Father3、阅读下面程序代码,写出程序运行的输出结果。classTest3{publicstaticvoidmain(String[]args){try{callMethod();}catch(Exceptione){System.out.print(will);}System.out.prin