当前位置:文档之家› Java复习题

Java复习题

第4-7章面向对象程序设计一、选择题1、下列不属于面向对象编程得三个特征得就是A、封装B、指针操作C、多态性D、继承2、在Java接口中,下列选项中有效得方法声明就是(AB)。

(选择二项)A、public void aMethod();B、void aMethod();C、protected void aMethod();D、private void aMethod();3、下列类得定义,错误得就是A、public class test extends Object{……}B、final class operators{……}C、class Point{……}D、void class Point{……}4、关键字supper得作用就是A、用来访问父类被隐藏得成员变量B、用来调用父类中被重载得方法C、用来调用父类得构造函数D、以上都就是5、下面程序定义了一个类,关于该类说法正确得就是abstract class abstractClass{……}A、该类能调用new abstractClass(),方法实例化为一个对象B、该类不能被继承C、该类得方法都不能被重载D、以上说法都不对关于对象得删除,下列说法正确得就是、6.A、必须由程序员完成对象得清除B、java把没有引用得对象作为垃圾收集起来并释放C、只有当程序中调用System、gc()方法时才能进行垃圾收集D、java中得对象都很小,一般不进行删除操作。

7、下列说法正确得就是A、java中包得主要作用就是实现跨平台功能B、package语句只能放在import语句后面C、包(package)由一组类(class)与接口(interface)组成D、可以用#include关键词来标明来自其它包中得类;8、关于构造方法,下列说法错误得就是A、构造方法不可以进行方法重写B、构造方法用来初始化该类得一个新得对象C、构造方法具有与类名相同得名称D、构造方法不返回任何数据类型9、请将程序补充完整1、__abstract_____ class C2、{3、abstract void callme()4、void metoo5、{6、System、out、println(“类C得metoo()方法”);7、}8、}9、class D_extends______C10、{11、void callme()12、{13、System、out、println(“重载C类得callme()方法”);14、}15、}16、public class Abstract17、{18、public static void main(String args[])19、}20、 C c=___new_______D();21、c、callme();22、c、metoo();23、}24、}10、以下关于抽象类与接口得说法错误得就是()A、抽象类在Java语言中表示得就是一种继承关系,一个类只能使用一次继承。

但就是一个类却可以实现多个接口。

、在抽象类中可以没有抽象方法B.C、实现抽象类与接口得类必须实现其中得所有方法,除非它也就是抽象类。

接口中得方法都不能被实现D、接口中定义得变量默认就是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

E、接口中得方法都必须加上public关键字。

二、填空题1、把对象实例化可以生成多个对象,使用____new_____运算符为对象分配内存空间。

2、java程序引入接口得概念,就是为了弥补只允许类得__单继承______得缺憾。

3、java语言以___类____为程序得基本单位,它就是具有某些共同特性实体得集合,就是一种抽象得概念。

4、抽象方法只能存在于抽象类中。

抽象方法用关键字___abstract_____来修饰。

5、java语言中__object_____就是所有类得根、6、在java中有一种叫做_构造函数______特殊方法,在程序中用它来对类成员进行初始化、7、new就是__创建____对象得操作符、8、继承主要强调子类在父类得基础上取”长”补”短”,而__多态性____主要强调得就是类与类之间得传输9、我们在java程序中,把关键字___super_____加到方法名称得前面,来实现子类调用父类得方法10、定义一个类包括定义类头与定义__类体____两个部分11、在java程序里,同一类中重载得多个方法具有相同得方法名与_不同____得参数列表、重载得方法可以有不同得返回值类型12、java就是面向对象语言,对象就是客观事物得__实体_____,对象与之就是一一对应得,它就是很具体得概念、13、java语言通过接口支持___多___继承,使类继承具有更灵活得扩展性14、一个对象得生命周期包含三个阶段:生成, __使用____ 与清除15、java语言中,调用方法时,参数传递就是__值____调用,而不就是地址调用16、接口就是一种只含有抽象方法或__常量____得一种特殊抽象类17、创建一个类就就是创建一个新得数据类型,而类在java中属于___复合___数据类型。

18、abstract方法___不能_____(不能或能)与final并列修饰同一个类19、如果一个类中定义了几个名为method得方法,这些方法得参数都就是整数,则这些方法得_参数个数_______必须就是不同得,这种现象称为方法得重载。

第8章异常处理一、选择题1、java中用来抛出异常得关键字就是A、tryB、catchC、throwfinally、D.2、关于异常,下列说法正确得就是A、异常就是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都不对3、()类就是所有异常类得父类。

A、ThrowableB、ErrorC、ExceptionD、AWTError4、java语言中,下列哪一子句就是异常处理得出口A、try{…}子句B、catch{…}子句C、finally{…}子句D、以上说法都不对5、下列程序得执行,说法错误得就是class MultiCatch{public static void main(String args[]){try{int a=args、length;int b=42/a;int c[]={1};c[42]=99;System、out、println(“b=”+b);}catch(ArithmeticException e){System、out、println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsException e){System、out、println(“数组超越边界异常:”+e);}}}A、程序将输出第15行得异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第19行得异常信息6、下列程序得执行,说法正确得就是class ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){System、out、println(“数组超越界限异常:”+e);}}public static void main(String args[]){try{procedure();int a=args、length;int b=42/a;System、out、println(“b=”+b);}catch(ArithmeticException e){System、out、println(“除0异常:”+e);}}}A、程序只输出第12行得异常信息B、程序只输出第26行得异常信息C、程序将不输出异常信息D、程序将输出第12行与第26行得异常信息7、下面程序抛出了一个“异常”并捕捉它。

请在横线处填入适当内容完成程序。

class TrowsDemo{static void procedure() throws IllegalAccessExcepton{System、out、println(“inside procedure”);throw_______IllegalAccessException(“demo”);}public static void main(String args[]){try{procedure();}___________{System、out、println(“捕获:”+e);}}二、填空题1.catch子句都带一个参数,该参数就是某个异常得类及其变量名,catch用该参数去与___出现异常____对象得类进行匹配。

2.java虚拟机能自动处理___运行(runtimeException)____异常。

3.变量属性就是描述变量得作用域,按作用域分类,变量有局部变量、类变量、方法参数与_异常处理参数___(全局变量)___4.同一段程序可能产生不止一种异常。

可以放置多个_catch___子句,其中每一种异常类型都将被检查,第一个与之匹配得就会被执行。

5.捕获异常要求在程序得方法中预先声明,在调用方法时用try-catch-_finally___语句捕获并处理。

6.java语言认为那些可预料与不可预料得出错称为___异常______7.按异常处理不同可以分为运行异常、捕获异常、声明异常与_抛出异常____几种。

8.抛出异常得程序代码可以就是_自定义得异常(java应用小程序)____或者就是JDK中得某个类,还可以就是JVN、9.抛出异常、生成异常对象都可以通过__throws____语句实现。

10.捕获异常得统一出口通过__finally_____语句实现。

11.java语言得类库中提供了一个__ Throwable______类,所有得异常都必须就是它得实例或它子类得实例。

12.Throwable类有两个子类:___ Errow_________类与Exception类。

13.对程序而言,一般有编译错误与_____运行_______错误两类。

14.下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。

请在横线处填入适当得内容完成程序。

public class HelloWorld{int i=0;String greetings[]={“Hello world!”,“No,I mean it!”,“HELLO WORLD!!”};while(i<4){___try__}System、out、println(greeting[i]);}____catch_____________(ArrayIndexOutOfBoundsException e){System、out、println(“Re-setting Index Value”);i=-1;finally{System、out、println(“This is always printed”);}i++;}}}第10章输入输出一、选择题1.流得传递方式就是(B)A、并行得B、串行得C、并行与串行D、以上都不对2.下列不就是java得输入输出流得就是(A)A、文本流B、字节流C、字符流D、文件流3.凡就是从中央处理器流向外部设备得数据流称为(D)A、文件流B、字符流C、输入流D、输出流4.获取一个不包含路径得文件名得方法为(A)A、String getName( )B、String getPath( )C、String getAbslutePath( )D、String getParent( )5.下列属于文件输入输出类得就是(D)A、与BufferOutputStream与BufferInputStream 、BC、PipedInputStream与PipedOutputStreamD、以上都就是6.下列不属于输入流得read(D)成员函数得就是()A、int read();B、int read(byte b[]);C、int read(byte b[],int offset,int len);D、int read(int line);7.当处理得数据量很多,或向文件写入很多次小数据,一般使用(C)流A、DataOutputB、C、BufferedOutputD、PipedOutput8.当把一个程序、线程或代码段得输出连接到另一个程序、线程或代码短得输入时,应使用(D)流A、DataOutputB、C、BufferedOutputD、PipedOutput9.当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文件得不同地方时,一般使用(B)类访问。

相关主题