1、JAVA复习题73832第4-7章 面向对象程序设计一、选择题1. 下列不属于面向对象编程的三个特征的是A. 封装B. 指针操作C. 多态性D. 继承2.在Java接口中,下列选项中有效的方法声明是(AB)。(选择二项)A、publicvoidaMethod();B、voidaMethod();C、protectedvoidaMethod();D、privatevoidaMethod();3. 下列类的定义,错误的是A. public class test extends ObjectB. final class operatorsC. class Point D. void class Po
2、int 4. 关键字supper的作用是A. 用来访问父类被隐藏的成员变量B. 用来调用父类中被重载的方法C. 用来调用父类的构造函数D. 以上都是5. 下面程序定义了一个类,关于该类说法正确的是abstract class abstractClassA. 该类能调用new abstractClass(),方法实例化为一个对象B. 该类不能被继承C. 该类的方法都不能被重载D. 以上说法都不对6. 关于对象的删除,下列说法正确的是A. 必须由程序员完成对象的清除B. java把没有引用的对象作为垃圾收集起来并释放C. 只有当程序中调用System.gc()方法时才能进行垃圾收集D. java中
3、的对象都很小,一般不进行删除操作。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 metoo
4、5. 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、抽象类在Jav
5、a语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现多个接口。B、在抽象类中可以没有抽象方法C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实现D、接口中定义的变量默认是publicstaticfinal型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。E、接口中的方法都必须加上public关键字。二、填空题1. 把对象实例化可以生成多个对象,使用_new_运算符为对象分配内存空间。2. java程序引入接口的概念,是为了弥补只允许类的_单继承_的缺憾。3. java语言以_类_为程序的基本单位,它是具有某些共同特性实体的
6、集合,是一种抽象的概念。4. 抽象方法只能存在于抽象类中。抽象方法用关键字_abstract_来修饰。5. java语言中_object_是所有类的根.6. 在java中有一种叫做_构造函数_特殊方法,在程序中用它来对类成员进行初始化.7. new是_创建_对象的操作符.8. 继承主要强调子类在父类的基础上取”长”补”短”,而_多态性_主要强调的是类与类之间的传输9. 我们在java程序中,把关键字_super_加到方法名称的前面,来实现子类调用父类的方法10. 定义一个类包括定义类头和定义_类体_两个部分11. 在java程序里,同一类中重载的多个方法具有相同的方法名和_不同_的参数列表.重
7、载的方法可以有不同的返回值类型12. java是面向对象语言,对象是客观事物的_实体_,对象与之是一一对应的,它是很具体的概念.13. java语言通过接口支持_多_继承,使类继承具有更灵活的扩展性14. 一个对象的生命周期包含三个阶段:生成, _使用_ 和清除15. java语言中,调用方法时,参数传递是_值_调用,而不是地址调用16. 接口是一种只含有抽象方法或_常量_的一种特殊抽象类17. 创建一个类就是创建一个新的数据类型,而类在java中属于_复合_数据类型。18. abstract方法_不能_(不能或能)与final并列修饰同一个类19. 如果一个类中定义了几个名为method的方
8、法,这些方法的参数都是整数,则这些方法的_参数个数_必须是不同的,这种现象称为方法的重载。第8章 异常处理一、选择题1.java中用来抛出异常的关键字是A.tryB.catchC.throwD.finally2.关于异常,下列说法正确的是A.异常是一种对象B.一旦程序运行,异常将被创建C.为了保证程序运行速度,要尽量避免异常控制D.以上说法都不对3.()类是所有异常类的父类。A.ThrowableB.ErrorC.ExceptionD.AWTError4.java语言中,下列哪一子句是异常处理的出口A.try子句B.catch子句C.finally子句D.以上说法都不对5.下列程序的执行,说法
9、错误的是class MultiCatch public static void main(String args) try int a=args.length; int b=42/a; int c=1; c42=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
10、.程序将输出“b=42”D.程序将输出第19行的异常信息6.下列程序的执行,说法正确的是class ExMulti static void procedure() try int c=1; c42=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(Ari
11、thmeticException 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”); p
12、ublic static void main(String args) try procedure(); _ System.out.println(“捕获:”+e); 二、填空题1. catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与_出现异常_对象的类进行匹配。2. java虚拟机能自动处理_运行(runtimeException)_异常。3. 变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参数和_异常处理参数_(全局变量)_4. 同一段程序可能产生不止一种异常。可以放置多个_catch_子句,其中每一种异常类型都将被检查,第一个与之匹
13、配的就会被执行。5. 捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_finally_语句捕获并处理。6. java语言认为那些可预料和不可预料的出错称为_异常_7. 按异常处理不同可以分为运行异常、捕获异常、声明异常和_抛出异常_几种。8. 抛出异常的程序代码可以是_自定义的异常(java应用小程序)_或者是JDK中的某个类,还可以是JVN.9. 抛出异常、生成异常对象都可以通过_throws_语句实现。10. 捕获异常的统一出口通过_finally_语句实现。11. java语言的类库中提供了一个_ Throwable_类,所有的异常都必须是它的实例或它子类的实例。
14、12. Throwable类有两个子类:_ Errow_类和Exception类。13. 对程序而言,一般有编译错误和_运行_错误两类。14下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。public class HelloWorld int i=0; String greetings= “Hello world!”, “No,I mean it!”, “HELLO WORLD!” ;while(i4) try_System.out.println(greetingi);_catch_(ArrayIndexOutOfBoundsExceptio
15、n 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 ge
16、tName( ) B. String getPath( ) C. String getAbslutePath( ) D. String getParent( )5下列属于文件输入输出类的是(D)A. FileInputStream和FileOutputStream B. BufferInputStream和BufferOutputStream C. PipedInputStream和PipedOutputStream D. 以上都是6下列不属于FileInputStream输入流的read(D)成员函数的是()A. int read(); B. int read(byte b); C. int
17、 read(byte b,int offset,int len); D. int read(int line);7当处理的数据量很多,或向文件写入很多次小数据,一般使用(C)流A. DataOutput B. FileOutput C. BufferedOutput D.PipedOutput8当把一个程序、线程或代码段的输出连接到另一个程序、线程或代码短的输入时,应使用(D)流A. DataOutput B. FileOutput C. BufferedOutput D. PipedOutput当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文件的不同地方时,一般使
18、用(B)类访问。A. FileOutputStream B. RandomAccessFile C. PipedOutputStream D. BufferedOutputStream10java中,实现通过网络使用URL访问对象的功能的流是(A)A. URL输入流B. Sock输入流 C. PipedInputStream输入流 D. BufferedInputStream输入流二、填空题1java的输入输出流包括_字节流_、字符流、文件流、对象流以及多线程之间通信的管道。java中的非字符输出流都是_OutputStream_抽象类的子类。3java对I/O访问还提供了同步处理机制,保证某
19、时刻只有一个线程访问一个I/O流,这就_过滤流_4. java中的字符输出流都是抽象类_Writer_的子类.5. DataOutputStream数据流向文件里写数据的方法为_writer()_.6. RandomAccessFile所实现的接口是_DateInput_和DataOutput接口.7. 文件类_File_是java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能.8. 文件操作中经常需要的是随机访问, java中的_RandomAccessFile_类提供了随机访问文件的功能.9.下列程序实现从控制台输入并读取输出字符串. 请将程序补充完整 import jav
20、a.io.*; public class CharInput public static void main(String args) throws java.io.IOException String s; inputStreamReader ir; BufferedReader in; ir=new_ InputStreamReader _(System.io); in=new_ BufferedReader _(ir); while (s=in._ readLine()_)!=null) System.out.println(“Read;”+s); 10. 下列程序实现从当前目录的dat
21、e.ser文件中读取文件内容并显示出来.请将程序补充完整. import java.io.*; import java.util.Date; public class UnSerializeDate UnSerializeDate() Date d=null; try FileInputStream f=new _ FileInputStreamf _(“date.ser”); ObjectInputStream s=new ObjectInputStream(_); d=(Date) s.readObject(); f.close(); catch(Exception e) e.printS
22、tackTrace(); System.out.println(“Unserialized Date object from date.set”); System.out.println(“Date:”+d); public static void main(String args) new UnSerializeDate(); 第11章 多线程一、选择题1. 线程调用了sleep()方法后,该线程将进入( C )状态。A.可运行状态B.运行状态C.阻塞状态D.终止状态2. 关于java线程,下面说法错误的是(C)A.线程是以CPU为主体的行为B.java利用线程使整个系统成为异步C.创建线程
23、的方法有两种:实现Runnable接口和继承Thread类D.新线程一旦被创建,它将自动开始运行3. 在java中的线程模型包含()A. 一个虚拟处理器B. CPU执行的代码C. 代码操作的数据D. 以上都是4.在java语言中,临界区可以是一个语句块,或者是一个方法,并用(A)关键字标识。A. synchronizedB. includeC. importD. Thread5. 线程控制方法中,yield()的作用是(D)A. 返回当前线程的引用B. 使比其低的优先级线程执行C. 强行终止线程D. 只让给同优先级线程运行6. 线程同步中,对象的锁在()情况下持有线程返回A. 当synchro
24、nized()语句块执行完后B. 当在synchronized()语句块执行中出现例外(exception)时C. 当持有锁的线程调用该对象的wait()方法时D. 以上都是7. 在以下()情况下,线程就进入可运行状态 CA. 线程调用了sleep()方法时B. 线程调用了join()方法时C. 线程调用了yield()方法时D. 以上都是8. java用()机制实现了进程之间的异步执行 BA. 监视器B. 虚拟机C. 多个CPUD. 异步调用9. 下列程序实现简单的线程调度,请回答以下问题:Thread myThread=new MyThreadClass();myThread.start();try myThread.sleep(10000);catch(InterruptedException e)myThread.stop();程序执行完第一行后,线程进入_A_状态;程序执行完第二行后,线程进入_B_状态;程序开始执行第五行时,线程进入_C_状态;程序执行完第五行后,线程进入_B_状态;程序执行完第十行后,线程进入_D_状态;A.新建状态B.可运行状态
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1