面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第1頁(yè)
面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第2頁(yè)
面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第3頁(yè)
面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第4頁(yè)
面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

面向?qū)ο蠹夹g(shù)Java期末復(fù)習(xí)試卷(三)面向?qū)ο蠹夹g(shù)Java期末復(fù)習(xí)試卷(三)面向?qū)ο蠹夹g(shù)Java期末復(fù)習(xí)試卷(三)xxx公司面向?qū)ο蠹夹g(shù)Java期末復(fù)習(xí)試卷(三)文件編號(hào):文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度期末復(fù)習(xí)試卷(三)單項(xiàng)選擇題1、有一段java應(yīng)用程序,其中包含一個(gè)公共類(lèi),名字為T(mén)estStudent,那么保存它的源文件名是()A.B.teststudent.classC.D.正確答案:C解析:一個(gè)java文件中可以包含多個(gè)類(lèi),但最多只能有一個(gè)類(lèi)是公共類(lèi)(public),該java文件的名字要與公共類(lèi)的一致。2、關(guān)于下面的代碼,哪個(gè)描述是正確的publicclassTest{publicstaticvoidmain(String[]args){Integern1=newInteger(3);Objectn2=newInteger(4);}}A.可以編譯通過(guò),可以運(yùn)行,并得到預(yù)期結(jié)果。B.可以編譯通過(guò),可以運(yùn)行,但不能得到預(yù)期結(jié)果。C.可以編譯通過(guò),但又運(yùn)行錯(cuò)誤。D.有編譯錯(cuò)誤。正確答案:D解析:Integer類(lèi)是基本數(shù)據(jù)類(lèi)型int的包裝類(lèi),里面封裝了一個(gè)int類(lèi)型的值,提供了一些實(shí)用的方法(例如:在JavaFX中讀取文本框內(nèi)容是String類(lèi)型的,如果要轉(zhuǎn)換成int類(lèi)型,就要調(diào)用Integer類(lèi)的parseInt()方法)并實(shí)現(xiàn)了Comparable接口,在Comparable接口中定了抽象方法compareTo(To),T是泛型,對(duì)于Integer類(lèi),T被替換為Integer,如下圖:

因此,Integer類(lèi)中compareTo()方法的定義如下:因此,compareTo的參數(shù)只能是Integer類(lèi)型的,所以代碼中的下面語(yǔ)句中的n2的類(lèi)型需要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,由Object轉(zhuǎn)為Integer: 正確寫(xiě)法如下:n2));類(lèi)似的包裝類(lèi)還有Long\Float\Double\Char\Boolean等,都是將基本數(shù)據(jù)類(lèi)型包裝為類(lèi)。3、下面哪種類(lèi)型不是引用數(shù)據(jù)類(lèi)型()A.數(shù)組B.charC.StringD.Object正確答案:B解析:基本數(shù)據(jù)類(lèi)型只是存放數(shù)據(jù),不提供功能(即方法)包括4類(lèi)八種:布爾類(lèi)型:boolean字符類(lèi)型:char整數(shù)類(lèi)型:byte,short,int,long

浮點(diǎn)類(lèi)型:float,double引用數(shù)據(jù)類(lèi)型包括類(lèi)、接口、抽象類(lèi)、數(shù)組(本質(zhì)上是類(lèi)),引用類(lèi)型可以提供功能。注意:String是一個(gè)類(lèi),所以可以使用Strings=newString("bistu")的方式創(chuàng)建對(duì)象;數(shù)組也是一個(gè)類(lèi),所以需要用new創(chuàng)建對(duì)象。4、類(lèi)Test要定義一個(gè)無(wú)參數(shù)、無(wú)返回值的方法method,并能夠通過(guò)()的方式調(diào)用method方法,則method方法的定義形式為()。A.publicstaticvoidmethod()B.publicvoidmethod()C.publicfinalvoidmethod()D.publicabstractvoidmethod()正確答案:A解析:靜態(tài)方法(也叫類(lèi)方法)可以不創(chuàng)建對(duì)象,而直接通過(guò)類(lèi)名調(diào)用。5、下列關(guān)于接口說(shuō)法正確的是()。A.抽象類(lèi)中的方法不全都是抽象的,因此可以創(chuàng)建對(duì)象。B.接口的引用既可以調(diào)用實(shí)現(xiàn)類(lèi)重寫(xiě)的接口的方法,也可以調(diào)用實(shí)現(xiàn)類(lèi)新增的方法。C.接口的實(shí)現(xiàn)類(lèi)可以實(shí)現(xiàn)接口的部分方法。D.接口的方法都是抽象的,因此不可以創(chuàng)建對(duì)象。正確答案:D解析:選項(xiàng)A的前半句是對(duì)的,后半句錯(cuò)了。選項(xiàng)B前半句是對(duì)的,后半句不對(duì)。示例如下:publicinterfaceGeometricObject{ publicdoublegetArea();}publicclassCircleimplementsGeometricObject{ publicdoublegetArea(){.….}publicdoublegetPerimeter(){……}}publicTestCircle{ publicstaticvoidmain(String[]args){ GeometricObjectc=newCircle(); ();getPerimeter()同一包中的類(lèi)訪(fǎng)問(wèn)B.其他包中的類(lèi)訪(fǎng)問(wèn)C.所有的類(lèi)訪(fǎng)問(wèn)D.所有的類(lèi)的子類(lèi)訪(fǎng)問(wèn)正確答案:A解析:注意本題可以繼續(xù)擴(kuò)展,例如把訪(fǎng)問(wèn)權(quán)限換成public/private/protected。7、下列哪個(gè)是Java應(yīng)用程序主類(lèi)中正確的main方法聲明()A.publicvoidmain(String[]args)B.staticvoidmain(String[]ar)C.publicstaticvoidMain(Stringa[])D.publicstaticvoidmain(Stringargs[])正確答案:D8、有一段java應(yīng)用程序,其中包含一個(gè)公共類(lèi),名字為Cat,那么保存它的源文件名是()A.B.C.CatD.都對(duì)正確答案:A與第1個(gè)選擇題類(lèi)似。9、下列哪個(gè)是JDK提供的編譯器()A.B.C.D.正確答案:B10、某個(gè)源文件如下:publicclassTestPerson{}classPerson{}classStudentextendsPerson{}那么保存它的源文件名是()A.B.C.D.正確答案:A參考第1、8題。11、以下定義一位數(shù)組的語(yǔ)句中,正確的是()A.inta[5];B.inta[]=new[5];C.inta[];inta=newint[5];D.inta[]={1,2,3,4,5};正確答案:D選項(xiàng)A:java中的數(shù)組是類(lèi),需要使用new關(guān)鍵字創(chuàng)建。選項(xiàng)B:落類(lèi)型了,正確寫(xiě)法為inta[]=newint[5];選項(xiàng)C:重復(fù)定義變量a,正確寫(xiě)法:inta[];a=newint[5];12、String類(lèi)實(shí)現(xiàn)Comparable接口,覆蓋其中的compareTo()方法。下面哪個(gè)是正確的String類(lèi)中被重寫(xiě)的compareTo()方法的方法頭A.publicintcompareTo(Stringo)B.publicvoidcompareTo(Stringo)C.publicintcompareTo(Objecto)D.publicvoidcompareTo(Objecto)正確答案:A解析:Comparable接口的定義如下:接口的實(shí)現(xiàn)類(lèi)必須覆蓋在接口中定義的抽象的方法,覆蓋就意味在實(shí)現(xiàn)類(lèi)中的方法要與在接口中定義的抽象方法同名、同參、同返回值。13、將類(lèi)的某個(gè)成員方法的訪(fǎng)問(wèn)權(quán)限設(shè)置為protected的,則下面說(shuō)法正確的是()。A.同一包中的其他類(lèi)不可以訪(fǎng)問(wèn)該方法B.不同包中的子類(lèi)可以訪(fǎng)問(wèn)該方法C.所有包中的類(lèi)都可以訪(fǎng)問(wèn)該方法D.所有包中的類(lèi)都不可以訪(fǎng)問(wèn)該方法。正確答案:B14、下列哪一個(gè)類(lèi)聲明是錯(cuò)誤的()A.classAB.publicclassAC.protectedclassAD.publicabstractclassA正確答案:C解析:類(lèi)只能被默認(rèn)或者public修飾符修飾,這是與成員變量和成員方法不一樣的地方。15、下面關(guān)于數(shù)組和集合的說(shuō)法,哪一個(gè)是錯(cuò)誤的()A.數(shù)組的長(zhǎng)度一旦確定,不能修改;B.集合的長(zhǎng)度可變,但是效率比數(shù)組低;C.數(shù)組和集合都屬于引用類(lèi)型;D.數(shù)組使用泛型指明所存儲(chǔ)的對(duì)象的類(lèi)型。正確答案:D解析:ArrayList是集合的一種類(lèi)型。集合使用泛型指明所存儲(chǔ)的對(duì)象的類(lèi)型。16、下面代碼有錯(cuò)誤的行是:________。1:publicclassReview1307{2:publicstaticvoidmain(String[]args){3:Numberx=newInteger(3);4::Integer(4)));6:}7:}A.line2B.line3C.line4D.line5正確答案:D解析:查JDK幫助文檔,Number是Integer的父類(lèi),Number沒(méi)有實(shí)現(xiàn)Comparable接口,而子類(lèi)Integer實(shí)現(xiàn)了Comparable接口,即子類(lèi)Integer新增了compareTo()方法。x的聲明類(lèi)型是Number,實(shí)際類(lèi)型是Integer,根據(jù)父類(lèi)引用不能調(diào)用子類(lèi)新增的方法的原則,x不可以直接調(diào)用compareTo()方法。如果需要修改代碼中的錯(cuò)誤,可以進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,如下:Integer(4)));17、inta[]={1,4,7,2,5,6,0},該數(shù)組第1個(gè)和最后1個(gè)元素的下標(biāo)為哪一項(xiàng)()A.0,7B.1,6C.0,6D.1,7正確答案:C18、假設(shè)arr是一個(gè)int類(lèi)型的二維數(shù)組,下面關(guān)于arr的聲明和初始化,哪一項(xiàng)是錯(cuò)誤的()A.int[][]arr={{1,2},{3,4,5}};B.int[][]arr=newint[2][3];C.int[][]arr=newint[2][];D.int[][]arr=newint[][3];正確答案:D解析:Java的二維數(shù)組是由一維數(shù)組模擬的,示例如下:沒(méi)有第一維,就不會(huì)有第二維,所以,創(chuàng)建數(shù)組的時(shí)候,不能只指明第二維,不指明第一維。但可以?xún)H指明第一維,不指明第二維,如選項(xiàng)C。19、下面說(shuō)法哪一個(gè)是錯(cuò)誤的()A.構(gòu)造方法的名稱(chēng)與類(lèi)名一樣。B.構(gòu)造方法返回值可以為void。C.一個(gè)類(lèi)可以有多個(gè)構(gòu)造方法。D.在一個(gè)類(lèi)中可以使用this調(diào)用該類(lèi)的其他構(gòu)造方法。正確答案:B解析:構(gòu)造方法的作用是創(chuàng)建對(duì)象,因此,本質(zhì)上,構(gòu)造方法是有返回值的,其返回值就是它創(chuàng)建的對(duì)象。但是,由于即使不指明構(gòu)造方法的返回值,JDK也知道其返回值類(lèi)型,因此,構(gòu)造方法的返回值類(lèi)型省略掉了。但是絕對(duì)不能用void,void表示沒(méi)有返回值。20、下面關(guān)于接口的定義哪個(gè)是正確的A. interfaceA{ voidprint(){};}B. abstractinterfaceAextendsI1,I2{ abstractvoidprint(){};}C. abstractinterfaceA{ print();}D. interfaceA{ voidprint(); }正確答案:D解析:(1)interface前面沒(méi)有abstract修飾;(2)接口中的方法都是抽象的,因此不能有方法體,即{}。21、下面關(guān)于多態(tài)的說(shuō)法,正確的是()。A.一個(gè)類(lèi)中不能有同名的方法;B.子類(lèi)中不能有和父類(lèi)中同名的方法;C.子類(lèi)中可以有和父類(lèi)中名字相同,且參數(shù)相同的方法;D.多態(tài)性就是方法的名字和參數(shù)可以一樣,但返回值的類(lèi)型必須不一樣。正確答案:C22、用于定義類(lèi)成員的訪(fǎng)問(wèn)控制權(quán)的一組關(guān)鍵字是()A.class,float,double,publicB.float,boolean,int,longC.char,extends,float,doubleD.public,private,protected正確答案:D23、下面關(guān)于接口的說(shuō)法哪一條是錯(cuò)誤的()A.接口是一種特殊的抽象類(lèi),接口的方法都是抽象方法;B.類(lèi)可以實(shí)現(xiàn)接口;C.接口和子接口可以有自己的實(shí)例對(duì)象;D.可以使用接口聲明引用,引用實(shí)現(xiàn)本接口或子接口的類(lèi)的對(duì)象。正確答案:C解析:接口中的方法都是抽象的,不能創(chuàng)建實(shí)例;類(lèi)似的,抽象類(lèi)也不可以創(chuàng)建實(shí)例。24、下面關(guān)于抽象類(lèi)的說(shuō)法,哪一條是錯(cuò)誤的()A.抽象類(lèi)可以不包含抽象方法;B.一個(gè)類(lèi)只要有一個(gè)抽象方法,就是抽象類(lèi);C.抽象類(lèi)不能創(chuàng)建對(duì)象,創(chuàng)建對(duì)象的工作由抽象類(lèi)的具體子類(lèi)來(lái)實(shí)現(xiàn);D.對(duì)于抽象類(lèi)中的抽象方法來(lái)說(shuō),在抽象類(lèi)中既要指定方法名和參數(shù),又要指定實(shí)現(xiàn)代碼。正確答案:D解析:抽象方法沒(méi)有方法體,因此不可能有實(shí)現(xiàn)代碼。25、Java源程序經(jīng)過(guò)編譯后得到的類(lèi)文件的擴(kuò)展名是哪一個(gè)項(xiàng)()A.javaB.exeC.classD.html正確答案:C26、Worker類(lèi)是Person類(lèi)的子類(lèi),Worker的構(gòu)造方法中有一句super(),該語(yǔ)句是()。A.調(diào)用Person類(lèi)中定義的super()方法B.語(yǔ)法錯(cuò)誤C.調(diào)用Person類(lèi)的構(gòu)造方法D.調(diào)用Worker類(lèi)中定義的super()方法正確答案:C27、關(guān)于覆蓋和重載,下面說(shuō)法哪一個(gè)是錯(cuò)誤的()A.一個(gè)類(lèi)中包含多個(gè)同名但參數(shù)不同的方法,這些方法構(gòu)成了重載。B.普通的成員方法可以重載,但構(gòu)造方法不可以重載。C.如果在子類(lèi)中定義的方法與其父類(lèi)的某個(gè)方法具有相同的名稱(chēng)、參數(shù)和返回值,則稱(chēng)子類(lèi)的方法覆蓋了父類(lèi)的方法。D.當(dāng)父類(lèi)的方法不能滿(mǎn)足子類(lèi)的要求時(shí),子類(lèi)可覆蓋父類(lèi)的方法;當(dāng)一種功能有多種實(shí)現(xiàn)時(shí),可使用重載來(lái)提供多個(gè)同名不同參的方法。正確答案:B解析:構(gòu)造方法也可以重載,即一個(gè)類(lèi)可以有多個(gè)構(gòu)造方法。28、下面的代碼說(shuō)明類(lèi)A和類(lèi)B之間是什么關(guān)系()classA{}classBextendsA{}A.關(guān)聯(lián)B.繼承C.依賴(lài)D.實(shí)現(xiàn)正確答案:B29、下面代碼的錯(cuò)誤出現(xiàn)在________。1:publicclassReview1308{2:publicstaticvoidmain(String[]args){3:Numberx=newInteger(3);4::Integer(4)));6:}7:}A.line2B.line3C.line4D.line5正確答案:D30、下列關(guān)于繼承的概念,哪項(xiàng)敘述是正確的()A.在java中,允許一個(gè)類(lèi)繼承多個(gè)父類(lèi);B.在java中,一個(gè)類(lèi)只能實(shí)現(xiàn)一個(gè)接口;C.在java中,一個(gè)類(lèi)不能同時(shí)繼承一個(gè)類(lèi)和實(shí)現(xiàn)一個(gè)接口;D.java的單一繼承使代碼更可靠。正確答案:D解析:Java采用單繼承,即只能有一個(gè)父類(lèi),但可以實(shí)現(xiàn)多個(gè)接口。程序題1、GeometricObject是幾何圖形抽象類(lèi),Circle類(lèi)繼承了GeometricObject類(lèi),同時(shí)實(shí)現(xiàn)了Comparable<Circle>接口,三者的UML類(lèi)圖如下:提示:Comparable<T>接口在包中已經(jīng)定義,不需要自己寫(xiě)。解題要求:編寫(xiě)測(cè)試類(lèi),要求如下:(1)創(chuàng)建Circle類(lèi)的對(duì)象c1和c2,設(shè)定c1的半徑為5,c2的半徑為6。(2)輸出c1和c2的半徑;c1的周長(zhǎng)和面積;調(diào)用c1的compareTo(Circleo)方法與c2比較,輸出比較結(jié)果。(3)將c1的半徑改為8,按照(2)中的要求輸出信息。(4)將c1的半徑改為6,按照(2)中的要求輸出信息。樣例如下packageqiZhongKaoShi2;publicclassTestCircleComparable{ publicstaticvoidmain(String[]args){ Circlec1=newCircle(5); Circlec2=newCircle(6); "c1的半徑是"+()); "c2的半徑是"+()); "c1的周長(zhǎng)是"+()); "c1的面積是"+()); if(c2)==1) "c1比c2大"); elseif(c2)==-1) "c1比c2小"); else "c1與c2相等"); c1=newCircle(8); "c1的半

溫馨提示

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

評(píng)論

0/150

提交評(píng)論