Java复习题2及答案.docx

上传人:b****6 文档编号:5607034 上传时间:2022-12-28 格式:DOCX 页数:20 大小:21.68KB
下载 相关 举报
Java复习题2及答案.docx_第1页
第1页 / 共20页
Java复习题2及答案.docx_第2页
第2页 / 共20页
Java复习题2及答案.docx_第3页
第3页 / 共20页
Java复习题2及答案.docx_第4页
第4页 / 共20页
Java复习题2及答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

Java复习题2及答案.docx

《Java复习题2及答案.docx》由会员分享,可在线阅读,更多相关《Java复习题2及答案.docx(20页珍藏版)》请在冰豆网上搜索。

Java复习题2及答案.docx

Java复习题2及答案

1、已知有一个多线程类myThread,除run方法外还包含一个方法voiddisp()。

以下说法正确的是【】

A)myThreadmt=newmyThread();mt.start();mt.disp();运行完线程体run方法后再运行disp()方法

B)myThreadmt=newmyThread();mt.disp();mt.start();运行完disp()后才能启动线程体run

C)myThreadmt=newmyThread();mt.start();mt.disp();线程体run一定会在disp结束前结束。

D)myThreadmt=newmyThread();mt.start();mt.disp();mt.start()和mt.disp()两条命令,哪条放在前面哪条放在后面运行结果一样。

 

2、下列选项中关于java中super关键字的说法错误的是(B)

A)super关键字是在子类对象内部指代其父类对象的引用

B)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类

C)子类可以通过super关键字调用父类的方法

D)子类可以通过super关键字调用父类的属性

3、下列选项中关于java中this关键字的说法错误的是(B)

A)this是在对象内部指代对象自身的引用

B)this关键字可以在类中的任何位置使用

C)this只和特定的对象关联,而不和类关联

D)同一个类中的不同对象有不同的this

4、在以下java程序的方法中,两个方法之间属于方法重载的是(AC)。

(选择二项)

A)intf1(){}

Intf1(inta){}

B)voidf1(inta){}

Intf1(inta){}

C)voidf1(){}

Intf1(inta){}

D)intf1(intb){}

intf1(inta){}

5、分析下面java代码,编译运行结果是(C)。

PublicclassTest{

Intnumber;

Stringstrname;

Test(intnum,Stringname){

Number=num;

Strname=name;

System.out.println(“学号:

”+number+”姓名:

”+name);

}

Publicstaticvoidmain(String[]args){

TestobjTest1=newTest();

TestobjTest2=newTest(1,“张三”);

}

}

a)运行结果为:

学号:

1姓名:

张三

b)运行结果为:

学号:

null姓名:

null

学号:

1姓名:

张三

c)程序出现编译错误

d)程序出现运行时异常

6、Java中使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。

(选择一项)

Aprivate

Bprotected

Cprivateprotected

Dpublic

7、分析下面的Java程序,编译运行结果为(D)

PublicclassTest{

Publicstaticvoidmain(String[]args){

try{

thrownewNullPointerException();

}catch(Exceptione){

System.out.println(“throwException”);

}

}

}(选择一项)

A编译出错

B正常运行无输出结果

C运行出错

D输出:

throwException

8、Java中,在如下所示的Test类中,共有(C)个构造方法

publicclassTest{

privateintx;

publicTest(){

x=34;

}

publicvoidTest(doublef){

this.x=(int)f;

}

publicTest(Strings){

}

}(选择一项)

A0

B1

C2

D3

9、分析下面的Java代码段,则选项中(B)方法无法在Child类中定义。

publicclassParent{

publicintaddValue(inta,intb){

returna+b;

}

}

classChildextendsParent{

//在此处定义方法

}(选择一项)

ApublicintaddValue(inta,intb){

returna+b;

}

BpublicintaddValue(inta,intb){}

CpublicintaddValue(inta){

returna;

}

DpublicintaddValue(doublea,doubleb){

return(int)a+(int)b;

}

10、小张使用JAVA编写了一个类,如下所示,选项中可以作为它的构造方法的是()。

publicclassOrange{}(选择二项)

A、voidOrange(){}

B、Orange(Stringname){}

C、Orange(){}

11、在JAVA的异常处理模型中,下列类在多重catch中同时使用时,()应该最后列出。

(选择一项)

A、ArithmeticException

B、NullPointerException

C、IOException

D、Exception

12、在Java接口中,下列选项中属于有效的方法声明是()。

(选择二项)

A、publicvoidaMethod()

B、voidaMethod();

C、voidaMethod(){}

D、privatevoidaMethod();

13、建立文件"file.txt"的字节输入流的语句是:

()

A.InputStreamin=newFileInputStream("file.txt");

B.FileInputStreamin=newFileInputStream(newFile("file.txt"));

C.InputStreamin=newFileReader("file.txt");

 

14、给定如下Java程序,这段程序编译运行后的输出结果是()。

(选择一项)

publicclassTest{

publicstaticvoidaMethod()throwsException{

try{

thrownewException();

}finally{

System.out.print(“Finally”);

}

}

publicstaticvoidmain(String[]args){

try{

aMthod();

}catch(Excptione){

System.out.print(“Exception”);

}

System.out.print(“Finished”);

}

}

A、FinallyException

B、Finally

C、ExceptionFinallyFinished

D、FinallyExceptionFinished

15、Java中,如果类C是B的子类,类B是类A的子类,那么下面描述正确的是()

(选择一项)

a)C不仅继承了B中公有成员,同时也继承了A中的公有成员

b)C只继承了B中的成员

c)C只继承了A中的成员

d)C不能继承A或B中的成员

16、下面关于Java接口的说法错误的是()。

(选择一项)

a)一个Java接口是一些方法特征的集合,但没有方法的实现

b)Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为

c)Java接口中可以声明私有成员

d)Java接口不能被实例化

17、下面语句正确的是:

()

A.RandomAccessFileraf=newRandomAccesssFile(“myfile.txt”,”rw”);

B.RandomAccessFileraf=newRandomAccesssFile(newDataInputStream());

C.RandomAccessFileraf=newRandomAccesssFile(“myfile.txt”);

D.RandomAccessFileraf=newRandomAccesssFile(newFile(“myfile.txt”));

18、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项()中的语句能正确调用Test类的方法。

ClassTest

{

publicintchange()

{

System.out.println(“Noparameters”);

return0;

}

publicvoidchange(doublem)

{

System.out.println(“parameteris:

”+m);

}

}

(选择一项)

a)Test.change(15.2f)

b)Test.change();

c)t.change(250.5);

d)inta=t.change(13)

19、有类Copy编译后产生如下错误提示,需要修改的地方是【】

importjava.io.*;

运行时提示错误为:

Copy.java:

11:

可能损失精度

publicclassCopy {

publicstaticvoidmain(String[]args)throwsException{

FileinputFile=newFile("in.txt");

FileoutputFile=newFile("out.txt"); 

FileReaderin=newFileReader(inputFile);①

FileWriterout=newFileWriter(outputFile);

charc;②

while((c=in.read())!

=-1)③

out.write(c);④

in.close();

 out.close();

}

}

A)①

B)②

C)③

D)④

 

20、在Java类中,使用以下(D)声明语句来定义公有的int型常量MAX。

(选择一项)

a)publicintMAX=100;

b)finalintMAX=100;

c)publicstaticintMAX=100;

d)PublicstaticfinalintMAX=100;

21、在Java中,已定义两个接口B和C,要定义一个实现这两个接口的类,一下语句正确的是(C)。

(选择一项)

a)interfaceAextendsB,C

b)interfaceAimplementsB,C

c)classAimplementsB,C

d)classAimplementsB,implementsC

22、分析如下所示的JAVA代码,其中this关键字的意思是(B)(选择一项)

publicclassTest{

privateStringname;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;//this关键字所在的行

}

}

a)Test类

b)是在Test类的内部指代自身的引用

c)Test类的对象引用其他Test类对象

d)指所在的方法

23、在Java中,有如下两个类Student和Person,如果Student是Person的子类,则下列声明对象X的语句中错误的是(C)

A.Personx=newStudent();

B.Personx=newPerson();

C.Studentx=newPerson();

D.Studentx=newStudent();

24、给定如下Java程序,这段程序编译运行后的输出结果是(D)。

(选择一项)

publicclassTest{

publicstaticvoidaMethod()throwsException{

try{

thrownewException();

}

finally{

System.out.println("Finally");

}

}

publicstaticvoidmain(String[]args){

try{

aMethod();

}catch(Exceptione){

System.out.println("Exception");

}

System.out.println("Finished");

}

}

}

a)FinallyException

b)Finally

c)ExceprionFinallyFinished

d)Finally

Exception

Finished

25、下列创建InputStreamReader对象的方法中哪些是正确的方法?

A.newInputStreamReader(newFileInputStream(“data”));

B.newInputStreamReader(newFileReader(“data”));

C.newInputStreamReader(newBufferedReader(“data”));

D.newInputStreamReader(“data”);

E.newInputStreamReader(System.in);

 

26、.Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是(A)(选择一项)

AC不仅继承了B中的成员,同样也继承了A中的成员

BC只继承了B中的成员

CC只继承了A中的成员

DC不能继承A或B中的成员

27、分析选项中关于Java中this关键字的说法正确的是(A)(选择一项)

Athis关键字是在对象内部指代自身的引用

Bthis关键字可以在类中的任何位置使用

Cthis关键字和类关联,而不是和特定的对象关联

D同一个类的不同对象公用一个this

28.在Java中,下列(AC)可以成为类Orange的构造方法(选择二项)

ApublicOrange(){……}

BpublicvoidOrange(){…..}

CpublicOrange(Strings){……}

DpublicStringOrange(Strings){……}

29、给定如下Java代码片段,则下列调用方法正确的是(BC)(选择二项)

Publicintcount(inti)throwsException

{

If(i==0)

ThrownewException(“参数不正确!

”);

Return20/I;

}

ApublicvoiduseCount()

{

Count(0);

}

BpublicvoiduseCount()throwsException{

Count(0);

}

CpublicvoiduseCount(){

Try{

Count(0);

}

Catch(Exceptione){}

}

DpublicvoiduseCount(){

Try{

Count(10);

}

}

30、在JAVA的异常处理模型中,能单独和finally语句一起使用的块是(A)。

a)try

b)catch

c)throw

d)throws

31、在JAVA中,Object类是所有类的父类,用户自定义类默认扩展自Object类,下列选项中的(D)方法不属于Object类的方法。

a)equals(Objectobj)

b)getClass()

c)toString()

d)trim()

32、给定如下Java代码,关于super的用法,以下描述正确的是(C)C)。

ClassCextendsB{

PublicC(){

Super();

}

}

a)用来调用类B中定义的super()方法

b)用来调用类C中定义的super()方法

c)用来调用类B的无参构造方法

d)用来调用类B中第一个出现的构造方法

33、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项中的语句能正确调用Test类的方法。

C

ClassTest{

Publicintchange(){

System.out.println(“Noparameters”);

Return0;

}

Publicvoidchange(doublem){

System.out.println(“parameteris:

”+m);

}

}

e)Test.change(15.2f)

f)Test.change();

g)t.change(250.5);

h)inta=t.change(13)

34、给定如下Java代码,编译运行时将输出(A)

classBase{

inti=1;

publicvoidamethod(){

System.out.println(“Base.amethod”);

}

Base(){

amethod();

}

}

publicclassDescendextendsBase{

inti=-1;

publicvoidamethod()

{

System.out.println(“Descend.amethod()”);

}

publicstaticvoidmain(String[]args){

Baseb=newDescend();//父类引用指向子类实例时:

只能访问父类中的属性和方法,如果子类重写父类的方法,则访问的是子类中重写的方法,不能访问子类特有的成员

System.out.println(b.i);

b.amethod();

}

}

a)Base.amethod()

-1

Descend.amethod()

b)Descend.amethod()

1

Descend.amethod()

c)1

Descend.amethod()

d)Base.amethod()

1

Descend.amethod()

35、在Java中,下面对于构造函数的描述正确的是()。

(选择一项)

a)类必须显示定义构造函数

b)构造函数的返回类型是void

c)构造函数和类有相同的名称,并且不能带任何参数

d)一个类可以定义多个构造函数

36、下列选项中关于Java中super关键字的说法正确的是()。

(选择一项)

a)super关键字是在子类对象内部指代其父类对象的引用

b)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类

c)子类通过super关键字只能调用父类的方法,而不能调用父类的属性

d)子类通过super关键字只能调用父类的属性,而不能调用父类的方法

d)三层结构可以充分发挥团队协作开发的优势

37、在Java接口中,下列选项中有效的方法声明是()。

(选择二项)

a)publicvoidaMethod()

b)voidaMethod();

c)voidaMethod(){}

d)privatevoidaMethod();

38、下面的Java程序编译运行结果是()

InterfaceA{

Intx=0;

}

ClassB{

Intx=1;

}

ClassCextendsBimplementsA{

PublicvoidpX(){

System.out.println(super.x);

}

Publicstaticvoicmain(String[]args){

NewC().pX();

}

}

a)产生运行期错误

b)产生编译期错误

c)程序运行,输出结果为1

d)程序运行,输出结果为0

39、分析如下Java代码,编译运行后将输出()。

(选择一项)

publicclassTest{

publicTest(){}

staticvoidprint(ArrayListal){

al.add

(2);

al=newArrayList();

al.add(3);

al.add(4);

}

publicstaticvoidmain(String[]args){

Testtest=newTest();

ArrayListal=newArrayList();

al.add

(1);

print(al);

System.out.println(al.get

(1));

}

}

a)1

b)2

c)3

d)4

40、在Java中,关于构造方法,下列说法错误的是().(选择一项)

A.构造方法的名称必须与类名相同

B.构造方法可以带输入参数

C.构造方法不可以重载

D.构造方法不能带返回参数

41、给定如下所示的JAVA代码,则运行时,会产生()类型的异常.(选择一项)

Strings=null;

s.concat("abc");

A.ArithmeticException

B.NullPointerException

C.IOException

D.ClassNotFoundException

42、给定java代码如下所示,在A处新增下列()方法,是对cal方法的重载

PublicclassTest

{

Publicvoidcal(intx,inty,intz)

{

}

//A

}

a)publicintcal(intx,inty,floatz){return0;}

b)publicintcal(intx,inty,intz){return0;}

c)publicvoidcal(intx,intz){}

d)publicviodcal(intz,inty,intx){}

43、在java中,已定义接口A

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

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1