6習(xí)題解析 6 -第6章 子類和繼承_第1頁
6習(xí)題解析 6 -第6章 子類和繼承_第2頁
6習(xí)題解析 6 -第6章 子類和繼承_第3頁
6習(xí)題解析 6 -第6章 子類和繼承_第4頁
6習(xí)題解析 6 -第6章 子類和繼承_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章子類和繼承習(xí)題解析1.選擇題(1)父類中的方法被以下哪個關(guān)鍵字修飾后不能被重寫?()A、publicB、staticC、finalD、void答案:C(2)如果想在子類Bird中使用父類的帶參數(shù)的構(gòu)造方法,則需要在子類Bird的構(gòu)造方法中通過代碼調(diào)用,正確的是()。A.publicBird(){super("羽毛");}B.super();C.publicStringskin="羽毛";D.Birdbird=newBird();答案:A(3)現(xiàn)有兩個類A、B,以下描述中表示B繼承自A的是?()A、classAextendsB.classB、classBimplementsAC、classAimplementsBD、classBextendsA答案:D(4)下面代碼是方法重載的是()。A.publicfloatgetArea(floatr){floatarea=PI*r*r;returnarea;}publicfloatgetArea(floatl,floatw){ //重載getArea()方法floatarea=l*w;returnarea;}B.publicfloatgetArea(floatr){ floatarea=PI*r*r;returnarea;}publicfloatgetArea(floatl{ //重載getArea()方法floatarea=lreturnarea;}C.publicfloatgetArea(floatr){ floatarea=PI*r*r;returnarea;}D.publicfloatgetTrea(floatr){ floatarea=PI*r*r;returnarea;}publicfloatgetArea(floatl,floatw){ //重載getArea()方法floatarea=l*w;returnarea;}答案:A((5)Java語言的類間的繼承關(guān)系是()。A、多重的B、單重的C、線程的D、不能繼承答案:B(6)下列方法中,哪個是抽象方法()。A.a(chǎn)bstractvoidFunc(){}B.virtualvoidFunc(){}C.a(chǎn)bstractvoidFunc();D.overridevoidFunc()答案:C(7)下列關(guān)于對象的類型轉(zhuǎn)換的描述,說法錯誤的是()。A、對象的類型轉(zhuǎn)換可通過自動轉(zhuǎn)換或強(qiáng)制轉(zhuǎn)換進(jìn)行B、無繼承關(guān)系的兩個類的對象之間試圖轉(zhuǎn)換會出現(xiàn)編譯錯誤C、由new語句創(chuàng)建的父類對象可以強(qiáng)制轉(zhuǎn)換為子類的對象D、子類的對象轉(zhuǎn)換為父類類型后,父類對象不能調(diào)用子類的特有方法答案:C(8)在下面哪種情況下,可以使用方法重寫?()A、父類方法中的形參不適用于子類使用時B、父類中的方法在子類中沒有時C、父類的功能無法滿足子類的需求時D、父類方法中的返回值類型不適合子類使用答案:C(9)下面哪個修飾符不可以修飾接口中的成員變量?()A、publicB、staticC、finalD、private答案:D(10)編譯運(yùn)行下面的程序,結(jié)果是什么?()publicclassA{ publicstaticvoidmain(String[]args){ Bb=newB(); b.test(); } voidtest(){ System.out.print("A"); }}classBextendsA{ voidtest(){ super.test(); System.out.print("B"); }}A、產(chǎn)生編譯錯誤B、代碼可以編譯運(yùn)行,并輸出結(jié)果ABC、代碼可以編譯運(yùn)行,但沒有輸出D、編譯沒有錯誤,但會產(chǎn)生運(yùn)行時異常答案:B2.填空題(1)如果子類想使用父類中的成員,可以通過關(guān)鍵字(super)引用父類的成員。(2)在Java語言中,用(abstract)修飾符定義的類為抽象類。(3)Java中一個類最多可以繼承(一)個類。(4)在定義方法時不寫方法體,這種不包含方法體的方法為(抽象)方法。(5)final修飾的局部變量只能被賦值(一)次。(6)在Java中一個接口可以繼承多個接口,繼承的接口之間使用(逗號)隔開即可。(7)一個類如果要實(shí)現(xiàn)一個接口,可以通過關(guān)鍵字(implements)來實(shí)現(xiàn)這個接口。3.綜合題(1)類繼承的實(shí)現(xiàn)方法,使用Eclipse創(chuàng)建名為“task5_1”的Java項(xiàng)目,在該項(xiàng)目中創(chuàng)建一個名為“Person”的Java類,該類實(shí)現(xiàn)左下圖所示Person類UML類圖所示的功能。在“task5_1”項(xiàng)目中再創(chuàng)建一個名為“Student”的Java類,Student類繼承于Person類,同時實(shí)現(xiàn)左下圖所示Student類UML類圖所示的功能。其中,Person類的introduce方法和Student類tellStudentNo方法的輸出效果如中下圖所示。參考答案:packagetask5_1;publicclassPerson{Stringname;doubleheight;doubleweight;voidIntroduce(){ System.out.println("Mynameis"+""+name); System.out.println("Myheightis"+""+height); System.out.println("Myweightis"+""+weight);}}classStudentextendsPerson{StringstudentNo;voidtellStudentNo(){ System.out.println("MystudentNois"+""+studentNo);}intadd(intx,inty){ returnx+y;}intsub(intx,inty){ returnx-y;}}packagetask5_1;importtask5_1.Person;;publicclasstest{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Students=newStudent(); ="yly"; s.height=173.0; s.weight=63.0; s.studentNo="971115"; s.Introduce(); s.tellStudentNo(); }}(2)驗(yàn)證對象的上轉(zhuǎn)型對象的功能特點(diǎn),使用Eclipse創(chuàng)建Java項(xiàng)目“task5_6”,在該項(xiàng)目中創(chuàng)建一個名為“Task5_6”的Java類。Task5_6.java文件中的代碼如下圖所示(其中包含了Person類和Student類的代碼)。回答上圖代碼中所示的6個問題,答案直接寫在網(wǎng)絡(luò)教學(xué)平臺的答題區(qū)。參考答案:packagetask5_6;classPerson{ privateStringcardID; Stringname="無名氏"; publicPerson(Stringid){ cardID=id; } StringgetCardID(){ returncardID; } voidintroduceSelf(){ System.out.println("MycardIDis"+cardID); System.out.println("Mynameis"+name); System.out.println("ProduceSelf()"); }}classStudentextendsPerson{ privateStringstudentID; StringSchoolName; publicStudent(StringcID,StringsID){ super(cID); studentID=sID; } voidintroduceSelf(){ roduceSelf(); System.out.println("MystudentIDis"+studentID); System.out.println("SroduceSelf()"); } StringgerStudentID(){ returnstudentID; }}publicclassTask5_6{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Personp=newStudent("33062378","971115"); Students=newStudent("33062378","971115"); ="yly"; System.out.println(s.getCardID()); System.out.println(s.gerStudentID()); roduceSelf(); }}(3)通過實(shí)驗(yàn)理解什么是多態(tài)使用Eclipse創(chuàng)建Java項(xiàng)目“task5_7”,在該項(xiàng)目中創(chuàng)建一個名為“Task5_7”的Java類。Task5_7.java文件中的代碼如下圖所示(其中包含了Human類、Chinese類和American類的代碼)。寫出項(xiàng)目Task5_7運(yùn)行后輸出的內(nèi)容,答案直接寫在網(wǎng)絡(luò)教學(xué)平臺的答題區(qū)。參考答案:packagetask5_7;classHuman{ doubleheight; doubleweight; voidintroduce(){ System.out.println("__#*(*--&%...#"); }}classChineseextendsHuman{ voidintroduce(){ System.out.println("我是中國人"); System.out.println("我的身高是"+height+"厘米"); System.out.println("我的身體是"+weight+"公斤"); }}classAmericanextendsHuman{ voidintroduce(){ System.out.println("IamAmerican"); System.out.println("Myheightis"+height+"cm"); System.out.println("Myweightis"+we

溫馨提示

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

評論

0/150

提交評論