JAVA笔试题答案在最后.docx
- 文档编号:28432144
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:24
- 大小:20.74KB
JAVA笔试题答案在最后.docx
《JAVA笔试题答案在最后.docx》由会员分享,可在线阅读,更多相关《JAVA笔试题答案在最后.docx(24页珍藏版)》请在冰豆网上搜索。
JAVA笔试题答案在最后
测试题(笔试)
Java面向对象
不定项选择题(40题,每题2.5分,总分100分,测试时间2小时)
1)
当试图编译并运行下面程序时会出现什么结果()(单选)
classA{
publicintgetNumber(inta){
returna+1;
}
}
classBextendsA{
publicintgetNumber(inta,charc){
returna+2;
}
publicstaticvoidmain(String[]args){
Bb=newB();
System.out.println(b.getNumber(0));
}
}
a)
编译错误
b)
运行错误
c)
1
d)
2
2)
当编译并运行下面程序时会出现什么结果()(单选)
publicclassMyAr{
publicstaticvoidmain(Stringargv[]){
int[]i=newint[5];
System.out.println(i[5]);
}
}
a)
编译错误
b)
运行错误
c)
输出0
d)
输出“null”
3)
final、finally、finalize三个关键字的区别是()(多选)
a)
final是修饰符(关键字)可以修饰类、方法、变量
b)
finally在异常处理的时候使用,提供finally块来执行任何清除操作
c)
finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作
d)
finally和finalize一样都是用异常处理的方法
4)
当编译并运行下面程序时会发生什么结果()(单选)
publicclassBgroundextendsThread{
publicstaticvoidmain(Stringargv[]){
Bgroundb=newBground();
b.run();
}
publicvoidstart(){
for(inti=0;i<10;i++){
System.out.println("Valueofi="+i);
}
}
}
a)
编译错误,指明run方法没有定义
b)
运行错误,指明run方法没有定义
c)
编译通过并输出0到9
d)
编译通过但无输出
5)
在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。
(单选)
a)
Final
b)
Static
c)
Abstract
d)
Void
6)
当编译并运行下面程序时会发生什么结果:
(单选)
publicclassHope{
publicstaticvoidmain(Stringargv[]){
Hopeh=newHope();
}
protectedHope(){
for(inti=0;i<10;i++){
System.out.println(i);
}
}
}
a)
编译错误,构造方法不能被声明为protected
b)
运行错误,构造方法不能被声明为protected
c)
编译并运行输出0到10
d)
编译并运行输出0到9
7)
下列说法正确的是?
()(多选)
a)
数组有length()方法
b)
String有length()方法
c)
数组有length属性
d)
String有length属性
8)
当编译并运行下面程序时会发生什么结果?
()(单选)
publicclassTest{
publicstaticvoidstringReplace(Stringtext){
text=text+”c”;
}
publicstaticvoidbufferReplace(StringBuffertext){
text=text.append("c");
}
publicstaticvoidmain(Stringargs[]){
StringtextString=newString("java");
StringBuffertextBuffer=newStringBuffer("java");
stringReplace(textString);
bufferReplace(textBuffer);
System.out.println(textString+textBuffer);
}
}
a)
编译并运行输出javacjavac
b)
编译并运行输出javajava
c)
编译并运行输出javajavac
d)
编译并运行输出javacjava
9)
以下哪些表达式返回为真()(多选)
Stringa=”Myfield1”;
Stringb=”Myfield1”;
Stringc=newString(”Myfield1”);
Stringd=newString(”Myfield1”);
a)
a==b
b)
a==c
c)
c==d
d)
a.equals(b)
e)
a.equals(c)
f)
c.equals(d)
10)
当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情()(单选)
publicclassMyAr{
publicstaticvoidmain(Stringargv[]){
MyArm=newMyAr();
m.amethod();
}
publicvoidamethod(){
inti;
System.out.println(i);
}
}
a)
编译并输出0
b)
编译错误
c)
编译并输出null
d)
运行错误
11)
给定如下java代码程序片断:
classA{
publicA(){
System.out.println(“A”);
}
}
classBextendsA{
publicB(){
System.out.println(“B”);
}
publicstaticvoidmain(String[]args){
Bb=newB();
}
}
上述程序将()(单选)
a)
不能通过编译
b)
通过编译,输出为AB
c)
通过编译,输出为B
d)
通过编译,输出为A
12)
关于线程,以下说法正确的是:
()(多选)
a)
sleep方法执行时会释放对象锁。
b)
wait方法执行时会释放对象锁。
c)
sleep方法必须写在同步方法或同步块中
d)
wait方法必须写在同步方法或同步块中
13)
给定JAVA代码如下,编译运行后,输出结果是()(单选)
publicclasstest{
staticinti;
publicinttest(){
i++;
returni;
}
publicstaticvoidmain(Stringargs[]){
Testtest=newTest();
test.test();
System.out.println(test.test());
}
}
a)
0
b)
1
c)
2
d)
3
14)
给定JAVA代码如下,关于super的用法,以下描述正确的是()(单选)
classCextendsB
{
publicC()
{
super();
}
}
a)
用来调用类B中定义的super()方法
b)
用来调用类C中定义的super()方法
c)
用来调用类B中的无参构造方法
d)
用来调用类B中第一个出现的构造方法
15)
哪些是Thread类中本身的方法(不包括继承)()(多选)
a)
start()
b)
sleep(longmi)
c)
wait()
d)
notify()
16)
下面哪些为真()(多选)
a)
接口里可定义变量,并且变量的值不能修改
b)
任何情况下,类都不能被private修饰
c)
类可以被protected修饰
d)
接口不能实例化
17)
下面哪些是正确的描述了关键字synhronized()(单选)
a)
允许两个进程并行运行但其之间相互通信
b)
保证任何时候只有一个线程访问一个方法或对象
c)
保证两个或多个进程同时启动和结束
d)
保证两个或多个线程同时启动和结束
18)
下列哪一种叙述是正确的()(单选)
a)
abstract修饰符可修饰属性、方法和类
b)
抽象方法的body部分必须用一对大括号{}
c)
声明抽象方法,大括号可有可无
d)
声明抽象方法不可写出大括号
19)
下面关于网络通信正确的描述是()(多选)
a)
TCP/IP协议是一种不可靠的网络通信协议。
b)
UDP协议是一种可靠的网络通信协议。
c)
TCP/IP协议是一种可靠的网络通信协议。
d)
UDP协议是一种不可靠的网络通信协议。
20)
在Java中,下面关于抽象类的描述正确的是()(多选)
a)
抽象类可以被实例化
b)
如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类
c)
抽象类的方法都必须是抽象的
d)
声明抽象类必须带有关键字abstract
21)
给定java代码如下,编译运行结果是()(单选)
publicclassTest{
publicintcount(){
return1%9;
}
publicstaticvoidmain(String[]args){
System.out.println(count());
}
}
a)
编译错误
b)
运行错误
c)
正常运行,输出1
d)
正常运行,输出0
22)
将对象序列化,要实现哪个接口()(单选)
a)
Cloneable
b)
Runnable
c)
Serializable
d)
Comparator
23)
以下代码输出结果为()(单选)
publicclassTest{
publicstaticStringoutput="";
publicstaticvoidfoo(inti){
try{
if(i==1){
thrownewException();
}
output+="1";
}catch(Exceptione){
output+="2";
return;
}finally{
output+="3";
}
output+="4";
}
publicstaticvoidmain(Stringargs[]){
foo(0);
foo
(1);
System.out.println(output);
}
}
a)
1342
b)
123
c)
134234
d)
13423
24)
在JAVA中,()接口位于集合框架的顶层()(单选)
a)
Collection
b)
Collections
c)
List
d)
Set
25)
在Java中,下列()类不能派生出子类()(单选)
a)
publicclassMyClass{}
b)
classMyClass{}
c)
abstractclassMyClass{}
d)
finalclassMyClass{}
26)
启动一个线程,应调用什么方法()。
(单选)
a)
start()
b)
run()
c)
begin()
d)
notify)(
27)
在java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()(单选)
a)
interfaceAextendsB,C
b)
interfaceAimplementsB,C
c)
classAimplementsB,C
d)
classAimplementsB,implementsC
28)
在Java中,以下定义数组的语句正确的是()(单选)
a)
intt[10]=newint[];
b)
chara[]="hefg";
c)
intt[]=newint[10];
d)
doubled=newdouble[10];
29)
给定一个java程序的main方法的代码片段如下:
假如d目录下不存在abc.txt文件,现运行该程序,下面的结果正确的是():
(单选)
try{
PrintWriterout=
newPrintWriter(newFileOutputStream("d:
/abc.txt"));
Stringname="chen";
out.print(name);
}catch(Exceptione){
System.out.println("文件没有发现!
");
}
a)
将在控制台上打印:
"文件没有发现!
"
b)
正常运行,但没有生成文件abc.txt
c)
运行后生成abc.txt,但该文件中可能无内容
d)
运行后生成abc.txt,该文件内容为:
chen
30)
集合框架中,要实现对集合里的元素进行自定义排序,要实现哪个接口()(单选)
a)
Cloneable
b)
Runnable
c)
Serializable
d)
Comparator
31)
classSuper{
protectedfloatgetNum(){return3.0f;}
}
publicclassSubextendsSuper{
//Here
}
下面哪些代码可放在Here处(多选)
a)
floatgetNum(){return4.0f;}
b)
publicvoidgetNum(){}
c)
privatevoidgetNum(doubled){}
d)
publicdoubleGetnum(){return4.0d;}
e)
publicfloatgetNum(){return9;}
32)
在Java语言中,如果你编写一个多线程序,可以使用的方法是()。
(多选)
a)
扩展类Thread
b)
实现Runnable接口
c)
扩展类Runnable
d)
实现接口Thread
33)
下面哪些接口直接继承自Collection接口()(多选)
a)
List
b)
Map
c)
Set
d)
Iterator
34)
关于HashMap和Hashtable正确的说法有()(多选)
a)
都实现了Map接口
b)
Hashtable类不是同步的,而HashMap类是同步的
c)
Hashtable不允许null键或值
d)
HashMap不允许null键或值
35)
下面关于构造方法的说法正确的是()(多选)
a)
构造方法不能被继承
b)
构造方法不能被重写
c)
构造方法不能被重载
d)
构造方法不能声明为private
36)
研究下面的JAVA代码()(单选)
publicclassTestException{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
inta[]={0,1,2,3,4};
intsum=0;
try
{
for(inti=0;i<6;i++)
{
sum+=a[i];
}
System.out.println("sum="+sum);
}
catch(java.lang.ArrayIndexOutOfBoundsExceptione)
{
System.out.println("数组下标越界");
}
finally
{
System.out.println("程序结束");
}
}
}
输出结果将是()
a)
10数组下标越界程序结束
b)
10程序结束
c)
数组下标越界程序结束
d)
程序结束
37)
研究下面JAVA代码
publicclassTestException{
publicstaticvoidmain(String[]args){
try
{
System.out.println("hello,jr");
System.exit(0);
}
finally
{
System.out.println("88");
}
}
}
输出结果为()(单选)
a)
hello,jr
b)
88
c)
hello,jr后是88
d)
不能编译
38)
考虑下面的代码
publicclassConstOver{
publicConstOver(intx,inty,intz){}
}
说出哪些重载了ConstOver构造器?
(多选)
a)
ConstOver(){}
b)
protectedintConstOver(){}
c)
privateConstOver(intz,inty,bytez){}
d)
publicvoidConstOver(bytex,bytey,bytez){}
e)
publicObjectConstOver(intx,inty,intz){}
39)
有以下代码:
packagecom;
publicclassTest{
publicstaticvoidmain(String[]args){
Testtest=newTest();
//here
}
}
在here处加上以下什么语句,可以获得Class对象?
(多选)
a)
Classc=newClass();
b)
Classc=test.class;
c)
Classc=Test.class;
d)
Classc=test.getClass();
e)
Classc=Class.forName(“com.Test”);
f)
Classc=Class.forName(“Test”);
40)
能用来修饰interface方法的有()(多选)
a)
private
b)
public
c)
protected
d)
static
e)
不加修饰符
答案:
1、C
2、B
3、ABC
4、D
5、C
6、D
7、BC
8、C
9、ADEF
10、B
11、B
12、BD
13、C
14、C
15、AB
16、ACD
17、B
18、D
19、CD
20、BD
21、A
22、C
23、D
24、A
25、D
26、A
27、C
28、C
29、C
30、D
31、CDE
32、AB
33、AC
34、AC
35、AB
36、C
37、A
38、AC
39、CDE
40、BE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 笔试 答案 最后
![提示](https://static.bdocx.com/images/bang_tan.gif)