面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)

上傳人:優(yōu)*** 文檔編號(hào):49532245 上傳時(shí)間:2022-01-18 格式:DOC 頁(yè)數(shù):17 大?。?0KB
收藏 版權(quán)申訴 舉報(bào) 下載
面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第1頁(yè)
第1頁(yè) / 共17頁(yè)
面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第2頁(yè)
第2頁(yè) / 共17頁(yè)
面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)_第3頁(yè)
第3頁(yè) / 共17頁(yè)

下載文檔到電腦,查找使用更方便

18 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)》由會(huì)員分享,可在線閱讀,更多相關(guān)《面向?qū)ο蠹夹g(shù)Java 期末復(fù)習(xí)試卷(三)(17頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、真誠(chéng)為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請(qǐng)指正。期末復(fù)習(xí)試卷(三)一、 單項(xiàng)選擇題1、有一段java應(yīng)用程序,其中包含一個(gè)公共類,名字為TestStudent,那么保存它的源文件名是( ) A. teststudent.java B. teststudent .class C. TestStudent.java D. TestStudent.class 正確答案:C 解析:一個(gè)java文件中可以包含多個(gè)類,但最多只能有一個(gè)類是公共類(public),該java文件的名字要與公共類的一致。2、關(guān)于下面的代碼,哪個(gè)描述是正確的?public class Test public static voi

2、d main(String args) Integer n1 = new Integer(3); Object n2 = new Integer(4); System.out.println(pareTo(n2); A. 可以編譯通過,可以運(yùn)行,并得到預(yù)期結(jié)果。 B. 可以編譯通過,可以運(yùn)行,但不能得到預(yù)期結(jié)果。 C. 可以編譯通過,但又運(yùn)行錯(cuò)誤。 D. 有編譯錯(cuò)誤。 正確答案:D 解析:Integer類是基本數(shù)據(jù)類型int的包裝類,里面封裝了一個(gè)int類型的值,提供了一些實(shí)用的方法(例如:在JavaFX中讀取文本框內(nèi)容是String類型的,如果要轉(zhuǎn)換成int類型,就要調(diào)用Integer類的p

3、arseInt()方法)并實(shí)現(xiàn)了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,對(duì)于Integer類,T被替換為Integer,如下圖: 因此,Integer類中compareTo()方法的定義如下:因此,compareTo的參數(shù)只能是Integer類型的,所以代碼中的下面語(yǔ)句中的n2的類型需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,由Object轉(zhuǎn)為Integer:System.out.println(pareTo(n2);正確寫法如下: System.out.println(pareTo(Integer) n2); 類似的包裝類還有LongFloatD

4、oubleCharBoolean等,都是將基本數(shù)據(jù)類型包裝為類。3、下面哪種類型不是引用數(shù)據(jù)類型?( ) A. 數(shù)組 B. char C. String D. Object 正確答案:B 解析:基本數(shù)據(jù)類型只是存放數(shù)據(jù),不提供功能(即方法)包括4類八種: 布爾類型:boolean 字符類型:char 整數(shù)類型:byte, short, int, long 浮點(diǎn)類型:float,double引用數(shù)據(jù)類型包括類、接口、抽象類、數(shù)組(本質(zhì)上是類),引用類型可以提供功能。注意:String是一個(gè)類,所以可以使用String s = new String(bistu)的方式創(chuàng)建對(duì)象;數(shù)組也是一個(gè)類,所以

5、需要用new創(chuàng)建對(duì)象。4、類Test要定義一個(gè)無(wú)參數(shù)、無(wú)返回值的方法method,并能夠通過Test.method()的方式調(diào)用method方法,則method方法的定義形式為 ( )。 A. public static void method ( ) B. public void method ( ) C. public final void method ( ) D. public abstract void method ( ) 正確答案:A 解析:靜態(tài)方法(也叫類方法)可以不創(chuàng)建對(duì)象,而直接通過類名調(diào)用。5、下列關(guān)于接口說法正確的是 ( )。 A. 抽象類中的方法不全都是抽象的,因此可

6、以創(chuàng)建對(duì)象。 B. 接口的引用既可以調(diào)用實(shí)現(xiàn)類重寫的接口的方法,也可以調(diào)用實(shí)現(xiàn)類新增的方法。 C. 接口的實(shí)現(xiàn)類可以實(shí)現(xiàn)接口的部分方法。 D. 接口的方法都是抽象的,因此不可以創(chuàng)建對(duì)象。 正確答案:D 解析:選項(xiàng)A的前半句是對(duì)的,后半句錯(cuò)了。選項(xiàng)B前半句是對(duì)的,后半句不對(duì)。示例如下: public interface GeometricObjectpublic double getArea();public class Circle implements GeometricObjectpublic double getArea() . public double getPerimeter()

7、public TestCirclepublic static void main(String args)GeometricObject c = new Circle();c.getArea(); /訪問實(shí)現(xiàn)類覆蓋接口的方法可以c. getPerimeter() /錯(cuò)誤:不可以訪問實(shí)現(xiàn)類新增的方法 選項(xiàng)C錯(cuò)誤,實(shí)現(xiàn)類必須實(shí)現(xiàn)接口的所有的抽象的方法。6、將類的成員方法的訪問權(quán)限設(shè)置為默認(rèn)的,則該成員方法能被( )。 A. 同一包中的類訪問 B. 其他包中的類訪問 C. 所有的類訪問 D. 所有的類的子類訪問 正確答案:A 解析:注意本題可以繼續(xù)擴(kuò)展,例如把訪問權(quán)限換成public/private

8、/protected。7、下列哪個(gè)是Java應(yīng)用程序主類中正確的main方法聲明? ( ) A. public void main(String args) B. static void main(String ar) C. public static void Main(String a) D. public static void main(String args) 正確答案:D 8、有一段java應(yīng)用程序,其中包含一個(gè)公共類,名字為Cat,那么保存它的源文件名是( ) A. Cat.java B. Cat.class C. Cat D. 都對(duì) 正確答案:A 與第1個(gè)選擇題類似。9、下列哪

9、個(gè)是JDK提供的編譯器?( ) A. java.exe B. javac.exe C. javap.exe D. javaw.exe 正確答案:B 10、某個(gè)源文件如下:public class TestPersonclass Personclass Student extends Person那么保存它的源文件名是( ) A. TestPerson.java B. Person.java C. Student.java D. TestPerson.class 正確答案:A 參考第1、8題。11、以下定義一位數(shù)組的語(yǔ)句中,正確的是( ) A. int a5; B. int a =new 5;

10、C. int a;int a = new int5; D. int a = 1,2,3,4,5; 正確答案:D 選項(xiàng)A: java中的數(shù)組是類,需要使用new關(guān)鍵字創(chuàng)建。選項(xiàng)B:落類型了,正確寫法為 int a = new int5;選項(xiàng)C:重復(fù)定義變量a,正確寫法: int a; a = new int5;12、String類實(shí)現(xiàn)Comparable接口,覆蓋其中的compareTo()方法。下面哪個(gè)是正確的String類中被重寫的compareTo()方法的方法頭? A. public int compareTo(String o) B. public void compareTo(Str

11、ing o) C. public int compareTo(Object o) D. public void compareTo(Object o) 正確答案:A 解析:Comparable接口的定義如下:接口的實(shí)現(xiàn)類必須覆蓋在接口中定義的抽象的方法,覆蓋就意味在實(shí)現(xiàn)類中的方法要與在接口中定義的抽象方法同名、同參、同返回值。13、將類的某個(gè)成員方法的訪問權(quán)限設(shè)置為protected的,則下面說法正確的是( )。 A. 同一包中的其他類不可以訪問該方法 B. 不同包中的子類可以訪問該方法 C. 所有包中的類都可以訪問該方法 D. 所有包中的類都不可以訪問該方法。 正確答案:B 14、下列哪一個(gè)

12、類聲明是錯(cuò)誤的?( ) A. class A B. public class A C. protected class A D. public abstract class A 正確答案:C 解析:類只能被默認(rèn)或者public修飾符修飾,這是與成員變量和成員方法不一樣的地方。15、下面關(guān)于數(shù)組和集合的說法,哪一個(gè)是錯(cuò)誤的?( ) A. 數(shù)組的長(zhǎng)度一旦確定,不能修改; B. 集合的長(zhǎng)度可變,但是效率比數(shù)組低; C. 數(shù)組和集合都屬于引用類型; D. 數(shù)組使用泛型指明所存儲(chǔ)的對(duì)象的類型。 正確答案:D 解析:ArrayList是集合的一種類型。集合使用泛型指明所存儲(chǔ)的對(duì)象的類型。16、下面代碼有錯(cuò)

13、誤的行是:_。1: public class Review13072: public static void main(String args)3: Number x = new Integer(3);4: System.out.println(x.intValue();5: System.out.println(pareTo(new Integer(4);6: 7: A. line 2 B. line 3 C. line 4 D. line 5 正確答案:D 解析:(1) 查JDK幫助文檔,Number是Integer的父類,Number沒有實(shí)現(xiàn)Comparable接口,而子類Integer

14、實(shí)現(xiàn)了Comparable接口,即子類Integer新增了compareTo()方法。(2) x的聲明類型是Number,實(shí)際類型是Integer,根據(jù)父類引用不能調(diào)用子類新增的方法的原則,x不可以直接調(diào)用compareTo()方法。(3) 如果需要修改代碼中的錯(cuò)誤,可以進(jìn)行強(qiáng)制類型轉(zhuǎn)換,如下:System.out.println(Integer)x).compareTo(new Integer(4);17、inta = 1,4,7,2,5,6,0,該數(shù)組第1個(gè)和最后1個(gè)元素的下標(biāo)為哪一項(xiàng)? ( ) A. 0,7 B. 1,6 C. 0,6 D. 1,7 正確答案:C 18、假設(shè)arr是一個(gè)i

15、nt類型的二維數(shù)組,下面關(guān)于arr的聲明和初始化,哪一項(xiàng)是錯(cuò)誤的?( ) A. int arr = 1,2,3,4,5; B. int arr = new int23; C. int arr = new int2; D. int arr = new int3; 正確答案:D 解析:Java的二維數(shù)組是由一維數(shù)組模擬的,示例如下: 沒有第一維,就不會(huì)有第二維,所以,創(chuàng)建數(shù)組的時(shí)候,不能只指明第二維,不指明第一維。但可以僅指明第一維,不指明第二維,如選項(xiàng)C。19、下面說法哪一個(gè)是錯(cuò)誤的?( ) A. 構(gòu)造方法的名稱與類名一樣。 B. 構(gòu)造方法返回值可以為void。 C. 一個(gè)類可以有多個(gè)構(gòu)造方法。

16、 D. 在一個(gè)類中可以使用this調(diào)用該類的其他構(gòu)造方法。 正確答案:B 解析:構(gòu)造方法的作用是創(chuàng)建對(duì)象,因此,本質(zhì)上,構(gòu)造方法是有返回值的,其返回值就是它創(chuàng)建的對(duì)象。但是,由于即使不指明構(gòu)造方法的返回值,JDK也知道其返回值類型,因此,構(gòu)造方法的返回值類型省略掉了。但是絕對(duì)不能用void,void表示沒有返回值。20、下面關(guān)于接口的定義哪個(gè)是正確的? A. interface A void print() ; B. abstract interface A extends I1,I2 abstract void print(); C. abstract interface A print()

17、; D. interface A void print(); 正確答案:D 解析:(1)interface前面沒有abstract修飾; (2)接口中的方法都是抽象的,因此不能有方法體,即。21、下面關(guān)于多態(tài)的說法,正確的是( )。 A. 一個(gè)類中不能有同名的方法; B. 子類中不能有和父類中同名的方法; C. 子類中可以有和父類中名字相同,且參數(shù)相同的方法; D. 多態(tài)性就是方法的名字和參數(shù)可以一樣,但返回值的類型必須不一樣。 正確答案:C 22、用于定義類成員的訪問控制權(quán)的一組關(guān)鍵字是( ) A. class, float, double, public B. float, boolean

18、, int, long C. char, extends, float, double D. public, private, protected 正確答案:D 23、下面關(guān)于接口的說法哪一條是錯(cuò)誤的?( ) A. 接口是一種特殊的抽象類,接口的方法都是抽象方法; B. 類可以實(shí)現(xiàn)接口; C. 接口和子接口可以有自己的實(shí)例對(duì)象; D. 可以使用接口聲明引用,引用實(shí)現(xiàn)本接口或子接口的類的對(duì)象。 正確答案:C 解析:接口中的方法都是抽象的,不能創(chuàng)建實(shí)例;類似的,抽象類也不可以創(chuàng)建實(shí)例。24、下面關(guān)于抽象類的說法,哪一條是錯(cuò)誤的?( ) A. 抽象類可以不包含抽象方法; B. 一個(gè)類只要有一個(gè)抽象方

19、法,就是抽象類; C. 抽象類不能創(chuàng)建對(duì)象,創(chuàng)建對(duì)象的工作由抽象類的具體子類來(lái)實(shí)現(xiàn); D. 對(duì)于抽象類中的抽象方法來(lái)說,在抽象類中既要指定方法名和參數(shù),又要指定實(shí)現(xiàn)代碼。 正確答案:D 解析:抽象方法沒有方法體,因此不可能有實(shí)現(xiàn)代碼。25、Java源程序經(jīng)過編譯后得到的類文件的擴(kuò)展名是哪一個(gè)項(xiàng)?( ) A. java B. exe C. class D. html 正確答案:C 26、Worker類是Person類的子類,Worker的構(gòu)造方法中有一句super(),該語(yǔ)句是( )。 A. 調(diào)用Person類中定義的super()方法 B. 語(yǔ)法錯(cuò)誤 C. 調(diào)用Person類的構(gòu)造方法 D.

20、調(diào)用Worker類中定義的super()方法 正確答案:C 27、關(guān)于覆蓋和重載,下面說法哪一個(gè)是錯(cuò)誤的?( ) A. 一個(gè)類中包含多個(gè)同名但參數(shù)不同的方法,這些方法構(gòu)成了重載。 B. 普通的成員方法可以重載,但構(gòu)造方法不可以重載。 C. 如果在子類中定義的方法與其父類的某個(gè)方法具有相同的名稱、參數(shù)和返回值,則稱子類的方法覆蓋了父類的方法。 D. 當(dāng)父類的方法不能滿足子類的要求時(shí),子類可覆蓋父類的方法;當(dāng)一種功能有多種實(shí)現(xiàn)時(shí),可使用重載來(lái)提供多個(gè)同名不同參的方法。 正確答案:B 解析:構(gòu)造方法也可以重載,即一個(gè)類可以有多個(gè)構(gòu)造方法。28、下面的代碼說明類A和類B之間是什么關(guān)系?( )class

21、 A class B extends A A. 關(guān)聯(lián) B. 繼承 C. 依賴 D. 實(shí)現(xiàn) 正確答案:B 29、下面代碼的錯(cuò)誤出現(xiàn)在_。1: public class Review13082: public static void main(String args)3: Number x = new Integer(3);4: System.out.println(x.intValue();5: System.out.println(Integer)pareTo(new Integer(4);6: 7: A. line 2 B. line 3 C. line 4 D. line 5 正確答案:D

22、 30、下列關(guān)于繼承的概念,哪項(xiàng)敘述是正確的?( ) A. 在java中,允許一個(gè)類繼承多個(gè)父類; B. 在java中,一個(gè)類只能實(shí)現(xiàn)一個(gè)接口; C. 在java中,一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口; D. java的單一繼承使代碼更可靠。 正確答案:D 解析:Java采用單繼承,即只能有一個(gè)父類,但可以實(shí)現(xiàn)多個(gè)接口。二、 程序題1、GeometricObject是幾何圖形抽象類,Circle類繼承了GeometricObject類,同時(shí)實(shí)現(xiàn)了Comparable<Circle>接口,三者的UML類圖如下: 提示:Comparable<T>接口在java.lang

23、包中已經(jīng)定義,不需要自己寫。解題要求:編寫測(cè)試類,要求如下:(1)創(chuàng)建Circle類的對(duì)象c1和c2,設(shè)定c1的半徑為5,c2的半徑為6。(2)輸出c1和c2的半徑;c1的周長(zhǎng)和面積;調(diào)用c1的compareTo(Circle o) 方法與c2比較,輸出比較結(jié)果。(3)將c1的半徑改為8,按照(2)中的要求輸出信息。(4)將c1的半徑改為6,按照(2)中的要求輸出信息。樣例如下package qiZhongKaoShi2;public class TestCircleComparable public static void main(String args)Circle c1 = new C

24、ircle(5);Circle c2 = new Circle(6);System.out.println(c1的半徑是 + c1.getR();System.out.println(c2的半徑是 + c2.getR();System.out.println(c1的周長(zhǎng)是 + c1.getPerimeter();System.out.println(c1的面積是 + c1.getArea();if (pareTo(c2)=1)System.out.println(c1比c2大);else if (pareTo(c2)=-1)System.out.println(c1比c2小);else Sys

25、tem.out.println(c1與c2相等);System.out.println();c1 = new Circle(8);System.out.println(c1的半徑是 + c1.getR();System.out.println(c2的半徑是 + c2.getR();System.out.println(c1的周長(zhǎng)是 + c1.getPerimeter();System.out.println(c1的面積是 + c1.getArea();if (pareTo(c2)=1)System.out.println(c1比c2大);else if (pareTo(c2)=-1)Syste

26、m.out.println(c1比c2小);else System.out.println(c1與c2相等);System.out.println();c1 = new Circle(6);System.out.println(c1的半徑是 + c1.getR();System.out.println(c2的半徑是 + c2.getR();System.out.println(c1的周長(zhǎng)是 + c1.getPerimeter();System.out.println(c1的面積是 + c1.getArea();if (pareTo(c2)=1)System.out.println(c1比c2大

27、);else if (pareTo(c2)=-1)System.out.println(c1比c2小);else System.out.println(c1與c2相等);abstract class GeometricObjectpublic abstract double getArea();public abstract double getPerimeter();class Circle extends GeometricObject implements Comparableprivate double r;public Circle()public Circle(double r)t

28、his.r = r;public double getR() return r;public void setR(double r) this.r = r;Overridepublic double getArea() return Math.PI * r * r;Overridepublic double getPerimeter() return 2 * Math.PI * r;Overridepublic int compareTo(Circle o) if (r o.getR()return 1;else if ( r o.getR() )return -1;elsereturn 0;17 / 17

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!