Java复习题.docx
- 文档编号:28301943
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:25
- 大小:26.70KB
Java复习题.docx
《Java复习题.docx》由会员分享,可在线阅读,更多相关《Java复习题.docx(25页珍藏版)》请在冰豆网上搜索。
Java复习题
第4-7章面向对象程序设计
一、选择题
1、下列不属于面向对象编程得三个特征得就是
A、封装
B、指针操作
C、多态性
D、继承
2、在Java接口中,下列选项中有效得方法声明就是(AB)。
(选择二项)
A、publicvoidaMethod();
B、voidaMethod();
C、protectedvoidaMethod();
D、privatevoidaMethod();
3、下列类得定义,错误得就是
A、publicclasstestextendsObject{
……
}
B、finalclassoperators{
……
}
C、classPoint{
……
}
D、voidclassPoint{
……
}
4、关键字supper得作用就是
A、用来访问父类被隐藏得成员变量
B、用来调用父类中被重载得方法
C、用来调用父类得构造函数
D、以上都就是
5、下面程序定义了一个类,关于该类说法正确得就是
abstractclassabstractClass{
……
}
A、该类能调用newabstractClass(),方法实例化为一个对象
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_____classC
2、{
3、abstractvoidcallme()
4、voidmetoo
5、{
6、System、out、println(“类C得metoo()方法”);
7、}
8、}
9、classD_extends______C
10、{
11、voidcallme()
12、{
13、System、out、println(“重载C类得callme()方法”);
14、}
15、}
16、publicclassAbstract
17、{
18、publicstaticvoidmain(Stringargs[])
19、}
20、Cc=___new_______D();
21、c、callme();
22、c、metoo();
23、}
24、}
10、以下关于抽象类与接口得说法错误得就是()
A、抽象类在Java语言中表示得就是一种继承关系,一个类只能使用一次继承。
但就是一个类却可以实现多个接口。
、在抽象类中可以没有抽象方法B.
C、实现抽象类与接口得类必须实现其中得所有方法,除非它也就是抽象类。
接口中得方法都不能被实现
D、接口中定义得变量默认就是publicstaticfinal型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
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、try
B、catch
C、throw
finally
、D.
2、关于异常,下列说法正确得就是
A、异常就是一种对象
B、一旦程序运行,异常将被创建
C、为了保证程序运行速度,要尽量避免异常控制
D、以上说法都不对
3、()类就是所有异常类得父类。
A、Throwable
B、Error
C、Exception
D、AWTError
4、java语言中,下列哪一子句就是异常处理得出口
A、try{…}子句
B、catch{…}子句
C、finally{…}子句
D、以上说法都不对
5、下列程序得执行,说法错误得就是
classMultiCatch
{
publicstaticvoidmain(Stringargs[])
{
try
{
inta=args、length;
intb=42/a;
intc[]={1};
c[42]=99;
System、out、println(“b=”+b);
}
catch(ArithmeticExceptione)
{
System、out、println(“除0异常:
”+e);
}
catch(ArrayIndexOutOfBoundsExceptione)
{
System、out、println(“数组超越边界异常:
”+e);
}
}
}
A、程序将输出第15行得异常信息
B、程序第10行出错
C、程序将输出“b=42”
D、程序将输出第19行得异常信息
6、下列程序得执行,说法正确得就是
classExMulti
{
staticvoidprocedure()
{
try
{
intc[]={1};
c[42]=99;
}
catch(ArrayIndexOutOfBoundsExceptione)
{
System、out、println(“数组超越界限异常:
”+e);
}
}
publicstaticvoidmain(Stringargs[])
{
try
{
procedure();
inta=args、length;
intb=42/a;
System、out、println(“b=”+b);
}
catch(ArithmeticExceptione)
{
System、out、println(“除0异常:
”+e);
}
}
}
A、程序只输出第12行得异常信息
B、程序只输出第26行得异常信息
C、程序将不输出异常信息
D、程序将输出第12行与第26行得异常信息
7、下面程序抛出了一个“异常”并捕捉它。
请在横线处填入适当内容完成程序。
classTrowsDemo
{
staticvoidprocedure()throwsIllegalAccessExcepton
{
System、out、println(“insideprocedure”);
throw_______IllegalAccessException(“demo”);
}
publicstaticvoidmain(Stringargs[])
{
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.下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。
请在横线处填入适当得内容完成程序。
publicclassHelloWorld
{
inti=0;
Stringgreetings[]=
{
“Helloworld!
”,
“No,Imeanit!
”,
“HELLOWORLD!
!
”
};
while(i<4)
{
___
try__
}
System、out、println(greeting[i]);
}
____catch_____________(ArrayIndexOutOfBoundsExceptione)
{
System、out、println(“Re-settingIndexValue”);
i=-1;
finally
{
System、out、println(“Thisisalwaysprinted”);
}
i++;
}
}
}
第10章输入输出
一、选择题
1.流得传递方式就是(B)
A、并行得
B、串行得
C、并行与串行
D、以上都不对
2.下列不就是java得输入输出流得就是(A)
A、文本流
B、字节流
C、字符流
D、文件流
3.凡就是从中央处理器流向外部设备得数据流称为(D)
A、文件流
B、字符流
C、输入流
D、输出流
4.获取一个不包含路径得文件名得方法为(A)
A、StringgetName()
B、StringgetPath()
C、StringgetAbslutePath()
D、StringgetParent()
5.下列属于文件输入输出类得就是(D)
A、与
BufferOutputStream
与BufferInputStream、B
C、PipedInputStream与PipedOutputStream
D、以上都就是
6.下列不属于输入流得read(D)成员函数得就是()
A、intread();
B、intread(byteb[]);
C、intread(byteb[],intoffset,intlen);
D、intread(intline);
7.当处理得数据量很多,或向文件写入很多次小数据,一般使用(C)流
A、DataOutput
B、
C、BufferedOutput
D、PipedOutput
8.当把一个程序、线程或代码段得输出连接到另一个程序、线程或代码短得输入时,应使用(D)流
A、DataOutput
B、
C、BufferedOutput
D、PipedOutput
9.当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文件得不同地方时,一般使用(B)类访问。
A、
B、RandomAccessFile
C、PipedOutputStream
D、BufferedOutputStream
10.java中,实现通过网络使用URL访问对象得功能得流就是(A)
A、URL输入流
B、Sock输入流
C、PipedInputStream输入流
D、BufferedInputStream输入流
二、填空题
1.java得输入输出流包括___字节流____、字符流、文件流、对象流以及多线程之间通信得管道。
2.java中得非字符输出流都就是__OutputStream___抽象类得子类。
3.java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就__过滤流_____
4、java中得字符输出流都就是抽象类__Writer______得子类、
5、DataOutputStream数据流向文件里写数据得方法为___writer()_______、
6、RandomAccessFile所实现得接口就是__DateInput_______与DataOutput接口、
7、文件类__就是java、io中得一个重要得非流类,里面封装了对文件系统进行操作得功能、
8、文件操作中经常需要得就是随机访问,java中得_RandomAccess类提供了随机访问文件得功能、
请将程序补充完整、下列程序实现从控制台输入并读取输出字符串、9.
importjava、io、*;
publicclassCharInput
{
publicstaticvoidmain(Stringargs[])throwsjava、io、IOException
}
Strings;
inputStreamReaderir;
BufferedReaderin;
InputStreamReader_______(System、ir=new_____io);
BufferedReader________(ir);
in=new____readLine()______)!
=null)、____while((s=in{
System、out、println(“Read;”+s);
}
}
}
10、下列程序实现从当前目录得date、ser文件中读取文件内容并显示出来、请将程序补充完整、
importjava、io、*;
importjava、util、Date;
publicclassUnSerializeDate
{
UnSerializeDate()
{
Dated=null;
try
{
f=new
_________(“date、ser”);
ObjectInputStreams=new
ObjectInputStream(________);
d=(Date)s、readObject();
f、close();
}
catch(Exceptione)
{
e、printStackTrace();
}
System、out、println(“UnserializedDateobjectfromdate、set”);
System、out、println(“Date:
”+d);
}
publicstaticvoidmain(Stringargs[])
{
newUnSerializeDate();
}
}
第11章多线程
一、选择题
1、线程调用了sleep()方法后,该线程将进入(C)状态。
A、可运行状态
B、运行状态
C、阻塞状态
D、终止状态
2、关于java线程,下面说法错误得就是(C)
A、线程就是以CPU为主体得行为
B、java利用线程使整个系统成为异步
C、创建线程得方法有两种:
实现Runnable接口与继承Thread类
D、新线程一旦被创建,它将自动开始运行
3、在java中得线程模型包含()
A、一个虚拟处理器
B、CPU执行得代码
C、代码操作得数据
D、以上都就是
4、在java语言中,临界区可以就是一个语句块,或者就是一个方法,并用(A)关键字标识。
A、synchronized
B、include
C、import
D、Thread
5、线程控制方法中,yield()得作用就是(D)
A、返回当前线程得引用
B、使比其低得优先级线程执行
C、强行终止线程
D、只让给同优先级线程运行
6、线程同步中,对象得锁在()情况下持有线程返回
A、当synchronized()语句块执行完后
B、当在synchronized()语句块执行中出现例外(exception)时
C、当持有锁得线程调用该对象得wait()方法时
D、以上都就是
7、在以下()情况下,线程就进入可运行状态C
A、线程调用了sleep()方法时
B、线程调用了join()方法时
C、线程调用了yield()方法时
D、以上都就是
B
用()机制实现了进程之间得异步执行java、8.
A、监视器
B、虚拟机
C、多个CPU
D、异步调用
9、下列程序实现简单得线程调度,请回答以下问题:
ThreadmyThread=newMyThreadClass();
myThread、start();
try
{
myThread、sleep(10000);
}
catch(InterruptedExceptione)
{
}
myThread、stop();
程序执行完第一行后,线程进入____A____状态;
程序执行完第二行后,线程进入____B____状态;
程序开始执行第五行时,线程进入____C____状态;
程序执行完第五行后,线程进入_____B___状态;
程序执行完第十行后,线程进入___D_____状态;
A、新建状态
B、可运行状态
C、阻塞状态
D、终止状态
10、Thread类得方法中,toString()方法得作用就是()
A、只返回线程得名称
B、返回当前线程所属得线程组得名称
C、返回当前线程对象
D、返回线程得名称
二、填空题
1、_多线程_______就是java程序得并发机制,它能同步共享数据、处理不同得事件。
2、线程就是程序中得一个执行流,一个执行流就是由CPU运行程序得代码、_操纵程序得数据_________所形成得,因此,线程被认为就是以CPU为主体得行为。
3、线程得终止一般可以通过两种方法实现:
自然撤销或者就是_被停止_________、
4、线程模型在java中就是由__java、lang、Thread________类进行定义与描述得。
5、线程得创建有两种方法:
实现___Runnable______接口与继承Thread类。
6、多线程程序设计得含义就是可以将程序任务分成几个__并行______得子任务。
7、按照线程得模型,一个具体得线程也就是由虚拟得CPU、代码与数据组成,其中代码与数据构成了_____线程体______,线程得行为由它决定。
8、java中,新建得线程调用start()方法、如myThread、start(),将使线程得状态从New(新建状态)转换为__可运行状态_______。
机制,它能同步共享数据,处理不同事件。
______并发__程序得java多线程就是、9.
10、进程就是由代码、数据、内核状态与一组寄存器组成,而线程就是表示程序运行状态得___寄存器___,如程序计数器、栈指针以及堆栈组成。
11、Thread类提供了一系列基本线程控制方法,如果我们需要让与当前进程具有相同优先级得线程也有运行得机会则可以调用_yield()_______方法。
第13章窗口程序设计
一、选择题
1、Window就是宣示屏上独立得本机窗口,它独立于其它容器,Wind
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 复习题