2023年文华学院课程考试试卷Java试卷_第1页
2023年文华学院课程考试试卷Java试卷_第2页
2023年文华学院课程考试试卷Java试卷_第3页
2023年文华学院课程考试试卷Java试卷_第4页
2023年文华学院课程考试试卷Java试卷_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学文华学院课程考试试卷A

2023〜2023学年度第二学期

课程名称:JAVA语言程序设计考试类型:(正常考试)

课程性质:(必修)使用范围:()

考试时间年月日考试方式:(闭卷)

学生姓名学号专业班级

题号二三四五总分

得分

一、选择题(每题只有一个对的答案,每题2分,共32分)

1下面哪项在java中是不合法的标记符?A

A、$userpoint。C、You&me«D,_endline

2对于可以独立运营的Java应用程序,下列哪个说法是对的的。D

A、无须main方法B、必须有两个main方法

C、可以有多个或零个main方法D、必须有一个main方法

3下面哪些java语句会导致无限循环?B

I、whi1e(true)i=0;

II>while(fa1se)i=1;

IILwhile(!fa1se)i=0;

A、11I。。B、I,IIICI2、I,II,III

4下面哪个关键字不是用来控制对类成员的访问的?C

A、pub1ic“B、protected»C>defau1D、private

5下列叙述中,对的的是B

A、线程与进程在概念上是不相关的,oB、一个线程可包含多个进程

C、一个进程可包含多个线程2、Java中的线程没有优先级

6下列关于变量的叙述哪个是错的?A

A、实例变量是类的成员变量B、在方法中定义的局部变量在该方法被执行时创

C、实例变量用关键字static声明。D、局部变量在使用前必须被初始化

7关于类继承的说法,对的的是?B

A、Java类允许多重继承。“B、Java接口允许多继承

C、接口和类都允许多继承。。。D、接口和类都不允许多继承

8以下关于abstract的说法,对的的是?D

A、abstract只能修饰类。。小、abstract只能修饰方法

C、abstract类中必须有abstract方法。D、abstaret方法所在的类必须用

abstract修饰

9编译并运营下面的Java程序,将产生什么结果?B

classA{

intvarl=l;

intvar2;

,publicstaticvoidmain(String[]args){

gintvar3=3;

oAa=newA();

^System,out.print1n(a.varl+a.var2+var3);}}

A,0*B、牛》C、3。6、代码无法编译

10下列哪个命题为真?C

A、所有类都必须定义一个构造函数正、构造函数必须有返回值

C、构造函数可以访问类的非静态成员D、构造函数必须初始化类的所有数据成

11下列哪种说法是对的的?D

A、私有方法不能被子类覆盖。

B、子类可以覆盖超类中的任何方法

C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法

D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集

12Java源文献和编译后的文献扩展名分别为B

A、.class和・java阻、.java和・classoC、,class^D.class^D>.java和Javaw

13下面程序运营之后,变量x的值是

//swap方法的声A

publicstaticvoidswap(inta,intb){

-intt=a;

3a=b;

ob=t;

}

//main方法

publiestaticvoidmain(Stringargs[]){

。intx=2;

inty=3;

。swap(x,y);

)

4、2o°B>3。。C、4D、6

14以下Sample类中已经定义了一个amethod()方法,下面哪个方法可以加入到Samp1e类中,并

且保证编译对的呢?()B

pub1icclassSamp1e(

publicvoidamethod(inti,Strings){)

//加入其他方法

A.abstractvoidamethod(inti);

B.publievoidamethod(Strings,inti){}

C.publicintamethod(inti,Strings){return0;}

D.privatevoidamethod(inti,Stringmystring){}

15下面哪一个是类Myclass的构造函数?C

A、publicvoidMyclass(){}<«B、pub1icstaticMyclass(){}

C、publicMyc1ass(){}“D、publiestaticvoidMyc1ass(){}

16下列哪种说法是对的的?()A

A.私有方法不能被子类覆盖。。"B.子类可以覆盖超类中的任何方法。

C.覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。

D.覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。

二、判断题(每题2分,共10分)

(F)1、Java中类的构造函数只能有一个。

(F)2、子类的域和方法的数目一定大于等于父类的域和方法的数目。

(F)3、sleep。方法是使线程停止一段时间的方法

(T)4、声明为final的方法不能在子类中重载。

(F)5、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

三、阅读程序写出结果(每题5分,共30分)

1>pub1icclassFina1lyTester

(

»staticintmethodl(intx)throwsException{

if(x<0)

othrownewException("x<0");

8returnx++;

publicstaticvoidmain(Stringargsf]){

0try(

3System.out.print1n(method1(-1));

。System.out.println(nendH);

g}catch(Exceptione){

^System.out,println(nWrong");

。}finally{

System.out.println(nFinally");

Wrong

Finally

2、publicclassTestextendsTT{

publicstaticvoidmain(Stringargs口)

Testt=newTest(“Tom”);

}

publicTest(Strings){

super(s);

System.out.println("Howdoyoudo?");

)

)

classTT{

pub1icTT(){

System.out.println("Whatapleasure!”);

pub1icTT(Strings){

this();

System.out.println(“Iam”+s);

)

}

Whatapieasure!

IamTom

Howdoyoudo?

3、pub1icclassCruncher{

Cruncher(inti){

System,out.println("zintversion");

}

Cruncher(Strings){

System,out.print1n(〃Stringversion");

)

pub1icstaticvoidmain(Stringargs口){

newCruncher(l);

)

)

intversion

4^c1assParent{

voidprintMe(){

System.out.printin(〃parent");

}

)

classChi1dextendsParent{

voidprintMeO{

System,out.printin(""chi1d〃);

}

voidprintAll(){

super,printMe();

this.printMeO;

printMe();

)

}

publiec1assTest_this{

publicstaticvoidmain(Stringargs[]){

Chi1dmyC=newChild();

myC.printA11();

)

)

Parent

Child

Chi1d

5、publicclassTest9

{privateintseria1Number;

oprivatestaticintcounter;

publicTest9()

。{

。counter++;

seria1Number=counter;

。}

pub1icstaticvoidmain(Stringargs[])

(

oSystem.out.printIn(nfirstcounter=u+counter);

®^Test9countl=newTest9();

^System.out.println("secondcounter="+counter);

Test9coun12=newTest9();

System.out.println(nlastcounter=n+counter);

ystem.out.println(countl.serialNumber);

oSystem.out.println(count2.seriaINumber);

。}

}

Firscounter=0

secondcounter=1

1astcounter=2

1

2

6、c1assVaiuel{

“ntx,y;

Va1uel(inta,intb){

x=a+10;

y=b;

}

)

classValue2extendsValue1{

Value2(inta,intb){

super(a,b);

)

}

publicc1assAddTest(

publicstaticvoidmain(Stringargs[]){

in11;

Value2no=newValue2(10,20);

t=no.x+no.y;

System.out.print]n("add="+t);

)

}

add=40

四、简答(每题4分,共12分)

1。简述方法重载(Overload)和方法覆盖(Override)的区别。返回值的类型是否影响方法重载(6

分)

方法的重写Oveiriding和重载。verloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,

重载Over1oading是一个类中多态性的一种表现。

。假如在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子

类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

假如在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为

方法的重载(Overloading)。0ver1oaded的方法是可以改变返回值的类型。

返回值的类型不影响方法重载

2,try,catch,finlly的执行是怎么样?

3.简叙接口和抽象类?

1、抽象类里面可以有非抽象方法

但接口里只能有抽象方法△声明方法的存在而不去实现它的类被叫做抽像类(abstractclass),

它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。

不能创建abstract类的实例。

然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。

不能有抽像构造函数或抽像静态方法。

abstract类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类。取而代之,在子类

中实现该方法。知道其行为的其它类可以在类中实现这些方法。

2、接口(inlerface)是抽像类的变体。

在接口中,所有方法都是抽像的。

多继承性可通过实现这样的接口而获得。

接口中的所有方法都是抽像的,没有一个有程序体。

接口只可以定义staticfina1成员变量。

接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。

当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。

然后,它可以在实现了该接口的类的任何对像上调用接口的方法。

由于有抽像类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。

引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实

现了接口

五、程序设计(共18分)

1.编写Animal接口,接口中声明run()方法,定义Bird类实现Anima1接

口。

publicclasstestl{

opublicstaticvoidmain(String[]args){

o©Animalanima1=newBird();

o©animal,run();

}

)

interfaceAnima1{

vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论