面向对象原理与Java实践复习题集附详细解释.docx

上传人:b****0 文档编号:8917299 上传时间:2023-05-16 格式:DOCX 页数:42 大小:40KB
下载 相关 举报
面向对象原理与Java实践复习题集附详细解释.docx_第1页
第1页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第2页
第2页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第3页
第3页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第4页
第4页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第5页
第5页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第6页
第6页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第7页
第7页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第8页
第8页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第9页
第9页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第10页
第10页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第11页
第11页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第12页
第12页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第13页
第13页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第14页
第14页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第15页
第15页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第16页
第16页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第17页
第17页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第18页
第18页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第19页
第19页 / 共42页
面向对象原理与Java实践复习题集附详细解释.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

面向对象原理与Java实践复习题集附详细解释.docx

《面向对象原理与Java实践复习题集附详细解释.docx》由会员分享,可在线阅读,更多相关《面向对象原理与Java实践复习题集附详细解释.docx(42页珍藏版)》请在冰点文库上搜索。

面向对象原理与Java实践复习题集附详细解释.docx

面向对象原理与Java实践复习题集附详细解释

面向对象原理与Java实践复习题集

(2)

一、单项选择题(请将所选择的答案号码填写在每小题中的圆括号内)

1、下列(  )不是面向对象程序设计方法的特点。

A.抽象B.继承C.多态D.结构化

2、下列关于Java语言特性的描述中,错误的是()。

A.支持多线程B.Java程序与平台无关

C.Java程序可以直接访问Internet上的对象D.支持单继承与多继承

3、编译并运行如下代码:

publicclassTestIf{

publicstaticvoidmain(String[]args){

if(true)

if(false)

System.out.println("a");

else

System.out.println("b");

}

}

A.无法编译B.编译正常,输出字母a

C.编译正常,输出字母bD.编译正常,但是不会输出任何字母

4、关于以下代码,说法正确的是()。

publicvoidtest(intx){

switch(x){

case1:

case2:

case3:

default:

case4:

}

}

A.变量x不具备switch表达式所需的类型

B.每个case部分必须以break语句结尾

C.default标签必须是switch语句中最后一个标签

D.代码没有任何错误

5、关于类和对象,以下说法错误的是()。

A.对象就是属性和操作相关属性的行为的集合,是类的具体化。

B.对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

C.类是各种对象的集合与抽象。

D.消息表示对象之间进行交互,以实现复杂的行为。

6、关于封装,以下说法错误的是()。

A.封装是指利用抽象数据类型将数据和基于数据的操作包装起来。

B.封装是把对象的属性和动作结合成一个独立的单位,并尽可能隐蔽对象的内部细节。

C.封装使类容易使用 ,且更加安全,不会去破坏类内的数据。

D.封装保障了数据的完整性和系统的独立性。

7、关于多态,以下说法错误的是()。

A.多态是指在一般类中定义的属性或动作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

B.多态使得同一个属性或动作在一般类及其各个特殊类中具有相同的语义。

C.可通过子类对父类方法的重写(override)实现多态。

D.可通过同一类中定义同名方法即重载(overload)实现多态。

8、关于抽象类,以下说法错误的是(D)。

A.抽象类是指只能被继承而不能生成具体对象(即不能实例化)的类。

B.包含抽象方法的类是抽象类。

C.一个抽象类中可以有一个或多个抽象方法,但也可以没有抽象方法。

D.抽象类可以实例化,但这个实例化对象不能使用。

9、关于接口,以下说法错误的是()。

A.接口用来表明一个类必须作什么,而不是规定它去如何作。

B.接口常用来指定类的协议(Protocol)。

C.接口本质上是抽象类。

D.接口中没有可以变动的数据成员(变量),只能有final类型的数据成员(常量)。

10、关于final修饰符,以下说法错误的是()。

A.如果一个类的定义很完整,不需要再创建该类的子类,则这个类称为终极类。

B.在Java中,被定义成final的类,通常是用来完成某种标准操作,具有固定作用的类。

C.终极方法是指不能被子类重写的方法。

D.final修饰变量时,那么变量的取值在整个程序中是不能改变的,亦即在整个程序中是不能被赋值的。

11、关于数组,以下说法错误的是()。

A.在使用数组之前必须要初始化。

B.数组是作为对象来处理的,所有的数组对象都有length属性,用来记录数组中元素的个数。

C.数组是作为对象来处理的,所有的数组对象都有length()方法,用来获取数组中元素的个数。

D.使用foreach循环遍历数组时,无须获得数组和集合长度,无须根据索引来访问数组元素和集合元素,foreach循环会自动遍历数组。

12、关于二维数组,以下说法错误的是()。

A.二维数组可以静态初始化。

B.二维数组不可以动态初始化。

C.可以将一个二维数组看成是由多个一维数组组成的。

D.在有些具体的应用中,每行元素的个数不是相等的,Java允许生成具有不同长度的多维数组。

13、关于字符串,以下说法错误的是()

A.在Java语言中,字符串是抽象的数据类型,只能使用对象表示字符串。

B.字符串类String用于创建字符串对象,并且创建的字符串的值在程序运行中可以被改变。

C.调用字符串类String的charAt(intindex)方法可以获取指定位置的字符。

D.当需要改变字符串的值时,可使用StringBuffer类。

14、关于Java集合框架,以下说法错误的是()。

A.List接口的实现类可以存储一组不唯一(允许重复)、有序(插入顺序)的对象。

B.set接口的实现类可以存储一组唯一(不允许重复)、无序(插入顺序)的对象。

C.Collection接口的实现类可以存储一组不唯一(允许重复)、无序(插入顺序)的对象。

D.Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作。

键和值要求有序(插入顺序)、唯一(不允许重复)。

15、关于GUI程序设计,以下说法错误的是()。

A.Swing组件都是AWT的Container类的直接子类或间接子类。

B.每个容器都有一个默认的布局管理器。

C.当容器被创建后,可以通过特定的方法改变容器的布局管理器。

D.JPanel可以作为一个顶层容器使用。

16、关于事件处理机制,以下说法错误的是()。

A.在事件处理的过程中,主要涉及二类对象:

事件、事件源。

B.不同的事件源上可能发生不同的事件。

C.同一个事件源上可能发生多种事件。

D.事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。

17、关于事件处理,以下说法错误的是()。

A.事件的处理由事件处理程序完成。

B.当事件对象生成时,AWT事件处理系统就会将这个事件对象传递给所涉及的组件,由它们的事件处理程序进行相应处理。

C.事件的授权处理模型是指不同的事件,可以交由不同类型的监听器去处理。

D.事件监听程序须定义在组件所在的类中。

18、关于异常处理机制,以下说法错误的是()。

A.Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给Java运行时系统,这个过程称为抛出(throw)异常。

B.当Java运行时系统接收到异常对象时,会寻找处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

C.Exception类是所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显式的声明或捕获。

D.内存溢出是一种Java异常。

19、关于输入输出流,以下说法错误的是()。

A.简单地说,流(Stream)是通过一定的传播路径从源传递到目的地的字节序列。

B.所有的字节流类都是InputStream抽象类和OutputStream抽象类的子类。

C.如果想一次读取一行字符时,可使用BufferReader类。

D.随机文件访问类RandomAccessFile是一种I/O流类。

20、关于线程,以下说法错误的是()。

A.线程是程序中单个顺序的流控制,是最小的执行单位。

B.同类的多个线程共享一块内存空间和一组系统资源。

C.多线程是指在一个程序中可以定义多个线程并同时运行它们,每个线程可以执行不同的任务。

D.创建线程类一般有两种方法:

一种方法是通过继承线程类Thread来创建线程类;另一种方法是建立一个Runnable接口的子类来创建线程。

21、关于下面的代码,哪些结论是正确的?

classJ_SuperClass{

J_SuperClass(){

}

}

classJ_SubClassextendsJ_SuperClass{

}

(A)类J_SubClass的构造方法具有public属性

(B)类J_SubClass的构造方法不含参数

(C)类J_SubClass的构造方法包含调用this()

(D)类J_SubClass的构造方法包含调用super()

22、下面哪些选项的语句置于指定的位置会导致程序输出“sub”?

classJ_Base{

}

classJ_SubClassextendsJ_Base{

publicStringmb_getString(){

return(“Sub”);

}

}

classJ_Test{

publicstaticvoidmain(String[]args){

J_Baseapp=newJ_SubClass();

//选项语句插入的位置

}

}

(A)System.out.println(app.mb_getString());

(B)System.out.println((J_Base)app.mb_getString());

(C)System.out.println((J_SubClass)app.mb_getString());

(D)System.out.println(((J_SubClass)app).mb_getString());

23、下面哪些选项的语句置于指定的位置会导致程序输出“sub”?

classJ_Base{

publicStringmb_getString(){

return(“Base”);

}

}

classJ_SubClassextendsJ_Base{

publicStringmb_getString(){

return(“Sub”);

}

}

classJ_Test{

publicstaticvoidmain(String[]args){

J_Baseapp=newJ_SubClass();

//选项语句插入的位置

}

}

(A)System.out.println(app.mb_getString());

(B)System.out.println((J_Base)app.mb_getString());

(C)System.out.println((J_SubClass)app.mb_getString());

(D)System.out.println(((J_SubClass)app).mb_getString());

24、下面哪些选项的语句置于指定的位置会导致程序输出“Base”?

classJ_Base{

publicStringmb_getString(){

return(“Base”);

}

}

classJ_SubClassextendsJ_Base{

publicStringmb_getString(){

return(“Sub”);

}

}

classJ_Test{

publicstaticvoidmain(String[]args){

J_Baseapp=newJ_SubClass();

//选项语句插入的位置

}

}

(A)System.out.println(super().mb_getString());

(B)System.out.println((J_Base)app.mb_getString());

(C)System.out.println((J_Base)app.mb_getString());

(D)System.out.println(((J_Base)app).mb_getString());

25、将各选项的程序片段插入到下面程序片段的指定位置,结果会产生编译错误的有哪些?

publicclassJ_Test{

publiclongmb_sum(longa,longb){

returna+b;

}

//选项语句插入的位置

}

(A)publicintmb_sum(inta,intb){returna+b;}

(B)publicintmb_sum(longa,longb){returna+b;}

(C)abstractintmb_sum();

(D)privatelongmb_sum(longa,longb){returna+b;}

26、假设在Java源程序文件“MyClass.java”中只含有一个类,而且这个类必须能够被位于一个庞大的软件系统中的所有Java类访问到,那么下面哪些声明有可能是符合要求的类声明?

(A)privateclassMyClassextendsObject

(B)publicclassmyclassextendsObject

(C)publicclassMyClass

(D)publicclassMyClassextendsObject

27、下面的程序输出是什么?

classJ_Class{

staticintm_data=0;

}

classJ_Test{

publicstaticvoidmain(String[]args){

J_Classa=newJ_Calss();

J_Classb=newJ_Calss();

a.m_data=1;

b.m_data=2;

System.out.println(a.m_data);

}

}

(A)0(B)1(C)2(D)上面的程序含有编译错误

28、关于下面的程序,哪些结论是正确的?

publicclassJ_Test{

publicstaticvoidmain(String[]args){

int[]a=newint[5];

a.length=10;

System.out.println(a.length);

}

}

(A)程序可以通过编译并正常运行,结果输出“10”

(B)程序可以通过编译并正常运行,结果输出“5”

(C)程序无法通过编译

(D)程序可以通过编译,但无法正常运行

29、假设已经定义了变量“Strings=“String”;”,则下面哪些语句可以通过编译?

(A)inta=s.length();(B)intb=s.length;(C)charc=s[3];(D)s+=3;

30、已知定义了两个变量

Strings1=“ja”;

Strings2=“va”;

下面哪些变量与字符串直接量“java”指向同一个实例对象?

(A)Stringa=“ja”+“va”;(B)Stringb=newString(“java”);

(C)Stringc=“java”.toString();(D)Stringd=s1+s2;

31、下面的程序输出是什么?

classJ_StringBuffer{

staticvoidmb_operate(StringBufferx,StringBuffery){

x.append(y);

y=newStringBuffer(“AB”);

}

publicstaticvoidmain(String[]args){

StringBuffera=newStringBuffer(“A”);

StringBufferb=newStringBuffer(“B”);

mb_operate(a,b);

System.out.println(a+“.”+b);

}

}

(A)A.B(B)A.A(C)AB.AB(D)AB.B

32、下面哪些方法定义置于指定位置不会产生编译错误?

classJ_SuperClass{

publicvoidmb_method(inti){

}

}

publicclassJ_TestextendsJ_SuperClass{

//选项方法定义插入位置

publicstaticvoidmain(String[]args){

}

}

(A)voidmb_method(inti)throwsException{}

(B)voidmb_method(longi)throwsException{}

(C)voidmb_method(longi){}

(D)publicvoidmb_method(inti)throwsException{}

33、下面哪些语句不含编译错误?

(A)Filef=newFile(“/”,“run.bat”);

(B)DataInputStreamf=newDataInputStream(System.in);

(C)OutputStreamWriterf=newOutputStreamWriter(System.out);

(D)RandomAccessFilef=newRandomAccessFile(“data.txt”);

34、用“newFileOutputStream(“data.txt”,true)”创建一个FileOutputStream实例对象,则下面哪些说法是正确的?

(A)如果文件“data.txt”存在,则将抛出IOException异常

(B)如果文件“data.txt”不存在,则将抛出IOException异常

(C)如果文件“data.txt”存在,则将覆盖掉文件中已有的内容

(D)如果文件“data.txt”存在,则将在文件的末尾开始添加新内容。

35、下面哪些选项的语句置于指定的位置时,会使得程序在控制台窗口中输出鼠标在程序运行窗口中的横坐标数值?

publicclassJ_TestextendsJFrame{

publicstaticvoidmain(String[]args){

J_Testapp=newJ_Test();

app.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEvente){

//选项语句插入的位置

}

});

app.setSize(250,220);

app.setVisible(true);

}

}

(A)System.out.println(e.x);(B)System.out.println(e.getX());

(C)System.out.println(e.getPoint().x);(D)System.out.println(e.getPoint().getX());

36、关于下面程序,哪些结论是正确的?

publicclassJ_TestextendsThread{

staticStringm_data=“Data:

”;

publicvoidmb_method(Strings){

s=s+“=”;

start();

}

publicvoidrun(){

for(inti=0;i<4;i++){

m_data=m_data+i+“,”;

}

}

publicstaticvoidmain(String[]args){

J_Testt=newJ_Test();

t.mb_method(m_data);

System.out.println(m_data);

}

}

(A)运行结果可能输出:

“Data:

=”(B)运行结果可能输出:

“Data:

=0,1,2,3,”

(C)运行结果可能输出:

“Data:

”(D)运行结果可能输出:

“Data:

0,1,2,3,”

37、下面哪些方法是类.InetAddress的静态方法,可以根据主机名创建该类的实例对象?

(A)getHostName(B)getByName

(C)getHostAddress(D)getInetAddress

38、下面哪些结论是正确的?

(A)类.DatagramSocket是类.Socket的子类,所以.DatagramSocket的实例对象实际上也是.Socket的实例对象

(B)类.Socket是类.DatagramSocket的子类,所以.Socket的实例对象实际上也是.DatagramSocket的实例对象

(C)类.DatagramSocket的成员方法receive()和send()可以接收与发送由类.DatagramPacket封装的数据包

(D)类.DatagramSocket的成员方法receive()和send()可以直接接收与发送字符串实例对象

39、下面哪些方法可以用来建立数据库连接?

(A)java.sql.DriverManager的方法getConnection()

(B)java.sql.DataSource的方法getConnection()

(C)java.sql.DataSource的方法connection()

(D)java.sql.Driver的方法getConnection()

40、下列哪些方法是java.sql.ResultSet的方法并且有可能改变结果集当前行?

(A)booleanabsolute(introw)throwsSQLException

(B)voidbeforeFirst()throwsSQLException

(C)intgetRow()throwsSQLException

(D)booleanprevious()throwsSQLException

二、判断题(请在每小题后面的括号内填上“√”或“×”)

1、Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行。

T

2、变量的声明格式是:

[各种限定符]dataTypevar

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2