仅供参考java期末考试样卷答案解析.docx
《仅供参考java期末考试样卷答案解析.docx》由会员分享,可在线阅读,更多相关《仅供参考java期末考试样卷答案解析.docx(17页珍藏版)》请在冰豆网上搜索。
仅供参考java期末考试样卷答案解析
习题
一、选择题
1.如下哪个字符串是Java中的合法标识符?
(A)
A、fieldnameB、superC、3numberD、#number
2.Java中main()函数的返回值是什么类型?
(D)
A、StringB、intC、charD、void
3.下列哪些语句关于Java内存回收的说明是正确的?
(C)
A、程序员必须创建一个线程来释放内存
B、内存回收程序允许程序员直接释放内存
C、内存回收程序负责释放无用内存
D、内存回收程序可以在指定的时间释放内存对象
4.以下关于继承的叙述正确的是(B)。
A、在Java中一个类只能实现一个接口
B、在Java中类只允许单一继承
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
5.JavaApplet中的paint()方法使用哪种类型的参数?
(A)
A、GraphicsB、Graphics2D
C、StringD、Color
6.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。
A、privateB、protected
C、privateprotectedD、public
7.下面(B)函数是publicvoidexample(){...}的重载函数?
A、publicvoidexample(){...}
B、publicvoidexample(intm){...}
C、publicvoidexample2(){...}
D、publicintexample(){...}
8.在浏览器中执行applet程序,以下选项中的(A)方法将被最先执行。
A、init()B、start()C、destroy()D、stop()
9.有程序片段如下,以下表示式的结果为true的是(B)。
Floats=newFloat(0.1f);
Floatt=newFloat(0.1f);
Doubleu=newDouble(0.1);
A、s==tB、s.equals(t)
C、u.equals(s)D、t.equals(u)
10.关于异常的含义,下列描述中最正确的一个是(C)。
A程序编译错误 B程序语法错误
C程序运行时的错误 D程序编译和运行时发生的错误
11.类Panel默认的布局管理器是(B)。
A、BorderLayoutB、FlowLayout
C、GridLayoutD、CardLayout
12.下面哪个方法与applet的显示无关?
(B)
A、update()B、draw()
C、repaint()D、paint()
13.已知如下代码:
publicclassTest{
publicstaticvoidmain(Stringarg[])
{
longa[]=newlong[10];
System.out.println(a[6]);
}
}
请问哪个语句是正确的?
(B)
A程序输出nullB程序输出0
C因为long[]数组声明不正确,程序不能被编译
D程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常
14.Java语言不是(B)
A、高级语言B、编译型语言
C、结构化设计语言D、面向对象设计语言
15.关于以下程序段的说明正确的是(C)
publicclassArrayTest{
publicstaticvoidmain(Stringargs[]){
try{
intx[]=newint[-5];
System.out.println("此行将无法被执行!
");
}catch(NegativeArraySizeExceptione){
System.out.println("exception:
数组下标不能为负数。
");
}
}
}
A、编译通过,输出:
此行将无法被执行!
B、编译通过,输出:
此行将无法被执行!
exception:
数组下标不能为负数。
C、编译通过,输出:
exception:
数组下标不能为负数。
D、编译不能通过
16.Java源文件和编译后的文件扩展名分别为(B)。
A、.class和.javaB、.java和.class
C、.class和.classD、.java和.java
17.以下有关构造函数的说法,正确的是:
(A)。
A、一个类的构造函数可以有多个
B、构造函数在类定义时被调用
C、构造函数只能由对象中的其它方法调用
D、构造函数可以和类同名,也可以和类名不同
18.为类Employee中的一个无形式参数且无返回值的方法method书写方法头,以便使用类名Employee作为前缀就可以调用它(即可以通过类名调用方法method),该方法头的形式为( A )。
A、static void method() B、public void method()
C、final void method() D、abstract void method()
19.下列代码的执行结果是:
( C )。
publicclassTest5{
publicstaticvoidmain(Stringargs[]){
Strings1=newString("hello");
Strings2=newString("hello");
System.out.print(s1==s2);
System.out.print(",");
System.out.println(s1.equals(s2));
}
}
A、true,falseB、true,true
C、false,trueD、false,false.
20.下列不是Java关键字的是( D )。
A、finalB、finallyC、nullD、sizeof
21.以下( C )是java.io包中的一个兼有输入输出功能的类。
A、Object
B、Serializable
C、RandomaccessFile
D、java.io中不存在这样的类
22.下面哪个语句正确地声明一个整型的二维数组?
( D )
Ainta[][]=newint[][];
Binta[100][100]=newint[][];
Cint[]a[]=newint[100][100];
Dinta[][]=newint[100][100];
23.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A.javaB.class
C.htmlD.exe
24.为读取的内容进行处理后再输出,需要使用下列哪种流?
( D )
AFilestreamBPipestreamCRandomstreamDFilterstream
25.下列方法中可以用来创建一个新线程的是。
( C )
A实现java.lang.Runnable接口并重写start()方法
B实现java.lang.Runnable接口并重写run()方法
C继承java.lang.Thread类并重写run()方法
D实现java.lang.Thread类并实现start()方法
26.给出如下初始化语句
Strings1=newString(“Hello”);
Strings2=newString(“there”);
Strings3=newString();
以下哪种操作是合法的?
( A )
As3=s1+s2;
Bs3=s1-s2;
Cs3=s1&s2;
Ds3=s1&&s2;
27.容器Panel和Applet缺省使用的布局编辑策略是( B )
ABorderLayoutBFlowLayout
CGridLayoutDCardLayout
28.给出如下代码:
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
}
}
如何使成员变量m被函数fun()直接访问?
( C )
A将privateintm改为protectedintm
B将privateintm改为publicintm
C将privateintm改为staticintm
D将privateintm改为intm
29.以下有关类的继承的说明中正确的是:
( D )
A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
B子类只能继承父类的方法,不能继承父类的属性
C子类只能继承父类的非私有属性,不能继承父类的方法
D子类不能继承父类的私有属性
30.以下语句有语法错的是:
( A )
A intx=1;y=2;z=3Bfor(intx=10,y=0;x>0;x++);
C while(x>5);Dfor(;;);
二、简答题
1、请说明this,super,final各自的作用。
this:
①指代调用方法的当前对象;②在构造函数内使用this用于指代另外一个构造函数。
super:
提供了一种调用父类构造函数的方法。
final:
使得某个变量值只能被引用,而不能修改。
2、试解释方法重构(方法覆盖)和方法重载的区分。
方法的覆盖出现在父类与子类之间,并且方法的特征要完全相同。
方法的重载可以出现在一个类中,也可以分别出现在父类与子类中,方法的特征一定不完全相同。
3、请解释面向对象程序设计相关的几个概念:
继承、多态、重载。
继承:
将相关类组成层次结构,允许新类从已存在的类中派生,通过保留它们的属性(即实例变量)和方法,并根据自己的要求添加新的属性的方法。
多态:
接口的多种不同的实现方式。
重载:
在一个类定义中,可编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一方法。
4、请说明抽象类和接口的异同点。
抽象类:
一种类,它不能实例化为一个对象,而只表示一种抽象的概念,继承它的子类可以对其进行具体实现,这种类中往往包含了抽象方法。
接口:
就是一系列常量和空方法的集合,它提供了多个类共有的方法,但不限制每个类如何实现这些方法。
相同点:
①二者都包含空方法,都必须在实现接口或继承抽象类的子类中具体实现这些方法。
②由于二者都包含空方法,所以不能用new关键字来创建这两种类型的对象。
③类之间具有继承关系,接口之间也可以具有这种关系,一个接口可以继承一个或多个接口。
④接口和类一样可以具有public属性。
在interface前加上public关