2023年文華學(xué)院課程考試試卷Java試卷_第1頁
2023年文華學(xué)院課程考試試卷Java試卷_第2頁
2023年文華學(xué)院課程考試試卷Java試卷_第3頁
2023年文華學(xué)院課程考試試卷Java試卷_第4頁
2023年文華學(xué)院課程考試試卷Java試卷_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

華中科技大學(xué)文華學(xué)院課程考試試卷A

2023?2023學(xué)年度第二學(xué)期

課程名稱:JAVA語言程序設(shè)計(jì)考試類型:(正??荚嚕?/p>

課程性質(zhì):(必修)使用范圍:()

考試時(shí)間年月日考試方式:(閉卷)

學(xué)生姓名學(xué)號(hào)專業(yè)班級(jí)

題號(hào)二三四五總分

得分

一、選擇題(每題只有一個(gè)對(duì)的答案,每題2分,共32分)

1下面哪項(xiàng)在java中是不合法的標(biāo)記符?A

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

2對(duì)于可以獨(dú)立運(yùn)營的Java應(yīng)用程序,下列哪個(gè)說法是對(duì)的的。D

A、無須main方法B、必須有兩個(gè)main方法

C、可以有多個(gè)或零個(gè)main方法D、必須有一個(gè)main方法

3下面哪些java語句會(huì)導(dǎo)致無限循環(huán)?B

I、whi1e(true)i=0;

II>while(fa1se)i=1;

IILwhile(!fa1se)i=0;

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

4下面哪個(gè)關(guān)鍵字不是用來控制對(duì)類成員的訪問的?C

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

5下列敘述中,對(duì)的的是B

A、線程與進(jìn)程在概念上是不相關(guān)的,oB、一個(gè)線程可包含多個(gè)進(jìn)程

C、一個(gè)進(jìn)程可包含多個(gè)線程2、Java中的線程沒有優(yōu)先級(jí)

6下列關(guān)于變量的敘述哪個(gè)是錯(cuò)的?A

A、實(shí)例變量是類的成員變量B、在方法中定義的局部變量在該方法被執(zhí)行時(shí)創(chuàng)

C、實(shí)例變量用關(guān)鍵字static聲明。D、局部變量在使用前必須被初始化

7關(guān)于類繼承的說法,對(duì)的的是?B

A、Java類允許多重繼承?!癇、Java接口允許多繼承

C、接口和類都允許多繼承。。。D、接口和類都不允許多繼承

8以下關(guān)于abstract的說法,對(duì)的的是?D

A、abstract只能修飾類。。小、abstract只能修飾方法

C、abstract類中必須有abstract方法。D、abstaret方法所在的類必須用

abstract修飾

9編譯并運(yùn)營下面的Java程序,將產(chǎn)生什么結(jié)果?B

classA{

intvarl=l;

intvar2;

,publicstaticvoidmain(String[]args){

gintvar3=3;

oAa=newA();

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

A,0*B、?!稢、3。6、代碼無法編譯

10下列哪個(gè)命題為真?C

A、所有類都必須定義一個(gè)構(gòu)造函數(shù)正、構(gòu)造函數(shù)必須有返回值

C、構(gòu)造函數(shù)可以訪問類的非靜態(tài)成員D、構(gòu)造函數(shù)必須初始化類的所有數(shù)據(jù)成

11下列哪種說法是對(duì)的的?D

A、私有方法不能被子類覆蓋。

B、子類可以覆蓋超類中的任何方法

C、覆蓋方法可以聲明自己拋出的異常多于那個(gè)被覆蓋的方法

D、覆蓋方法中的參數(shù)清單必須是被覆蓋方法參數(shù)清單的子集

12Java源文獻(xiàn)和編譯后的文獻(xiàn)擴(kuò)展名分別為B

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

13下面程序運(yùn)營之后,變量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類中已經(jīng)定義了一個(gè)amethod()方法,下面哪個(gè)方法可以加入到Samp1e類中,并

且保證編譯對(duì)的呢?()B

pub1icclassSamp1e(

publicvoidamethod(inti,Strings){)

//加入其他方法

A.abstractvoidamethod(inti);

B.publievoidamethod(Strings,inti){}

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

D.privatevoidamethod(inti,Stringmystring){}

15下面哪一個(gè)是類Myclass的構(gòu)造函數(shù)?C

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

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

16下列哪種說法是對(duì)的的?()A

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

C.覆蓋方法可以聲明自己拋出的異常多于那個(gè)被覆蓋的方法。

D.覆蓋方法中的參數(shù)清單必須是被覆蓋方法參數(shù)清單的子集。

二、判斷題(每題2分,共10分)

(F)1、Java中類的構(gòu)造函數(shù)只能有一個(gè)。

(F)2、子類的域和方法的數(shù)目一定大于等于父類的域和方法的數(shù)目。

(F)3、sleep。方法是使線程停止一段時(shí)間的方法

(T)4、聲明為final的方法不能在子類中重載。

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

三、閱讀程序?qū)懗鼋Y(jié)果(每題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)的區(qū)別。返回值的類型是否影響方法重載(6

分)

方法的重寫Oveiriding和重載。verloading是Java多態(tài)性的不同表現(xiàn)。

重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),

重載Over1oading是一個(gè)類中多態(tài)性的一種表現(xiàn)。

。假如在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子

類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。

假如在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為

方法的重載(Overloading)。0ver1oaded的方法是可以改變返回值的類型。

返回值的類型不影響方法重載

2,try,catch,finlly的執(zhí)行是怎么樣?

3.簡敘接口和抽象類?

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

但接口里只能有抽象方法△聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽像類(abstractclass),

它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。

不能創(chuàng)建abstract類的實(shí)例。

然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽像類,并讓它指向具體子類的一個(gè)實(shí)例。

不能有抽像構(gòu)造函數(shù)或抽像靜態(tài)方法。

abstract類的子類為它們父類中的所有抽像方法提供實(shí)現(xiàn),否則它們也是抽像類。取而代之,在子類

中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。

2、接口(inlerface)是抽像類的變體。

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

多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。

接口中的所有方法都是抽像的,沒有一個(gè)有程序體。

接口只可以定義staticfina1成員變量。

接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。

當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。

然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)像上調(diào)用接口的方法。

由于有抽像類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。

引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof運(yùn)算符可以用來決定某對(duì)象的類是否實(shí)

現(xiàn)了接口

五、程序設(shè)計(jì)(共18分)

1.編寫Animal接口,接口中聲明run()方法,定義Bird類實(shí)現(xiàn)Anima1接

口。

publicclasstestl{

opublicstaticvoidmain(String[]args){

o?Animalanima1=newBird();

o?animal,run();

}

)

interfaceAnima1{

vo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論