java面向对象程序设计系班级姓名成绩得分评卷人一、填空题(每空2分,共20分)1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大4.构造方法是一种特殊的成员方法,构造方法名与相同5.Java语言只允许单继承,指每个类只能有一个。二、选择题(每题2分,共50分)1.下列哪个概念是面向对象和面向过程程序设计所共有的()A、继承B、流程控制C、抽象D、封装2.以下关于执行Java小程序的论述错误的是:()A、可以通过浏览器调用嵌入了Java小程序的HTML文档B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档C、可以通过java.exe调用嵌入了Java小程序的HTML文档D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档3.符合对象和类关系的是:()A、人和老虎B、书和汽车C、楼和土地D、松树和植物4.关于选择结构下列哪个说法正确?()A.if语句和else语句必须成对出现B.if语句可以没有else语句对应C.一个if语句只能有一个elseif语句与之对应D.elseif结构中必须有default语句5.while循环和do…while循环的区别是:()A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.do…while循环执行次数可能为0D.while循环执行次数可能为06.关于for循环和while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断。B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空7.下列修饰符中与访问控制无关的是()A.privateB.publicC.protectedD.final8.方法内的形参:()A.必须定义多个形参B.可以没有C.至少有一个D.只能是简单变量9.throws的作用:()A.表示方法可能会抛出例外B.表示后面是方法的输出量C.方法的标志,每个方法都必须有D.没有意义10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2C.4D.811.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12.return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句returnD.不能用来返回对象13.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类public方法和属性D、子类只继承父类的方法,而不继承属性18.关于构造函数的说法哪个正确?()A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数19.关于super的说法正确的是:()A、是指当前对象的内存地址B、是指当前对象的父类对象的内存地址C、是指当前对象的父类D、可以用在main()方法中20.覆盖与重载的关系是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名C.final修饰的方法可以被覆盖,但不能被重载D.覆盖与重载是同一回事21.下列关于finally的说法正确的是?()A.无论程序是否找到合适的例外控制器,都会去执行finally语句B.finally语句应该放在所有例外控制器的最前面C.如果程序在前面的例外控制器中匹配到了合适例外,就不再执行finally语句D.如果程序在前面的例外控制器中匹配到了多个合适的例外,就不再执行finally语句22.对于已经被定义过可能抛出例外的语句,在编程时:()A、必须使用try/catch语句处理例外,或用throws将其抛出B.如果程序错误,必须使用try/catch语句处理例外C.可以置之不理D.只能使用try/catch语句处理23.下列哪个关键字用于实现接口()A.implementsB.implementC.importD.imports24.字符流与字节流的区别在于()A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写C.二者没有区别,可以互换使用D.每次读写的字节数不同25.下列流中哪个不属于字符流()A.InputStreamReaderB.BufferedReaderC.FilterReaderD.FileInputStream三、程序阅读与填空题(每题6分,共30分)1.阅读程序给出结果下列程序段用来计算Fibonacci序列的第0,1,2,…各项publicclassFibonacci{publicstaticvoidmain(Stringargs[]){System.out.println(Fibonacci第4项=+);}staticintfib(intn){if(n==0||n==1){returnn;}else{intsum=fib(n-1)+fib(n-2);returnsum;}}}输出结果为:2.多线程CPU调度//TwoThreads.java源代码如下:publicclassTwoThreadsDemo{publicstaticvoidmain(String[]args){newSimpleThread(Cat).;newSimpleThread(Mouse).;}}classSimpleThreadextendsThread{publicSimpleThread(Stringstr){super(str);}publicvoidrun(){for(inti=0;i10;i++){System.out.println(i++getName());try{sleep((long)(Math.random()*1000));}catch(InterruptedExceptione){}}System.out.println(DONE!+getName());}}3.按注释提示完成文件复制的程序//FileStream源代码如下:importjava.io.*;classFileStream{publicstaticvoidmain(Stringargs[]){try{FileinFile=newFile(file1.txt);//指定源文件FileoutFile=newFile(file2.txt);//指定目标文件FileInputStreamfis=;FileOutputStreamfos=newFileOutputStream(outFile);intc;//逐字节从源文件中输入,再输出到fos流while((c=fis.read())!=-1);fis.close();fos.close();}catch(Exceptione){System.out.println(FileStreamsTest:+e);}}}4.阅读程序,给出结果//B.java源代码如下:classA{intx=100;}classBextendsA{intx=200;voidprt(){System.out.println(SubClass:+x);System.out.println(SuperClass:+super.x);}publicstaticvoidmain(Stringargs[]){newB().prt();}}输出结果是5.阅读程序,给出结果://AbstractClassDemo.java源代码如下:abstractclassShape{//定义抽象类Shape和抽象方法displayabstractvoiddisplay();}classCircleextendsShape{voiddisplay(){//实现抽象类的方法System.out.println(Circle);}}classRectangleextendsShape{voiddisplay(){System.out.println(“Rectangle”)//实现抽象类的方法System.out.println(Rectangle);}}classTriangleextendsShape{voiddisplay(){//实现抽象类的方法System.out.println(Triangle);}}publicclassAbstractClassDemo{publicstaticvoidmain(Stringargs[]){(newCircle()).display();//定义无名对象来调用对应的display方法(newRectangle()).display();(newTriangle()).display();}}输出结果是:JAVA面向对象答案一,填空1..java;.class2.套接字;IP地址;端口3.1;10优先级越高4.类名5.父类或子类二、选择题BCDBDBDBACBCCCACBCBACAABD三、程序阅读与填空题1.阅读程序给出结果(1)fib(3);(2)22.多线程CPU调度Run()(1);Run()(2);3.按注释提示完成文件复制的程序(1)newFILEinputSream(infile);(2)fos.write(fis,0,c);4.阅读程序,给出结果(1)200;(2)100;5.阅读程序,给出结果:(1)circle(2)rctanglee(3)triangle