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

提交評論