版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
習題四參考答案一、判斷題1.對2.對3.錯4.錯5.對6.錯8.錯9.對10.對11.錯12.對13.錯14.對15.對16.錯17.對18.對19.錯20.錯【解釋】第3題:本題考察抽象類的特性。抽象類中可包含構(gòu)造辦法、抽象辦法和具體實現(xiàn)的辦法以及常量和變量,但不能直接實例化,普通可對抽象類的子類實例化,實例化對象引用能夠是抽象類類型。第11題:本題考察子類中能夠?qū)懙霓k法。子類能夠繼承父類的辦法,也能夠覆蓋父類的辦法,也能夠新增加辦法,新增加的辦法與從父類繼承的辦法可構(gòu)成重載。第13題:本題考察abstract的使用方法。abstract可修飾類和辦法,但不能修飾屬性,即不能修飾類的組員變量。第16題:本題考察final修飾的辦法的特性。final修飾的辦法不能被覆蓋,但能夠有重載的辦法。二、選擇題1.B2.B3、A4.B5.A6.C7.B8.D9.B10.B11.A12.D13、D14.A15.D16.D17、C18.D19、AD20、CD21、C22、C23、C24、B25.B26.D28.A【解釋】第7題:本題考核對繼承、覆蓋和重載的理解,屬于難點。本題4個選項中的辦法名與父類定義的辦法名都相似。選項A的辦法有3個參數(shù),選項C的辦法有1個參數(shù),都能與從父類繼承的辦法構(gòu)成重載,能夠加入子類Child中;選項B和選項D辦法中的參數(shù)類型和個數(shù)都與父類定義的辦法相似,由于父類定義的辦法用public修飾,要想覆蓋父類定義的辦法,子類的辦法也必須用public修飾,因此,選項D能夠加入子類Child中,但選項B不行。第8、10、13和14題:這幾題重要考察子類中含有覆蓋辦法的調(diào)用狀況。子類對象調(diào)用辦法時,首先調(diào)用子類中同名和參數(shù)形式(參數(shù)個數(shù)、類型和次序)一致的辦法,否則就調(diào)用父類中定義的匹配的辦法。第9題:本題考核對類實現(xiàn)接口的理解。在Java的接口中涉及抽象辦法和常量。類實現(xiàn)接口時,需實現(xiàn)接口中的全部辦法,并可直接使用接口中定義的常量(等同于從接口中繼承了這些常量)。本題中的接口B定義了"intk=10;”編譯時會自動加上final,表達k為常量。因此,本題選B。第11題:本題考察父類中有static修飾和沒有static修飾的辦法被子類覆蓋的情形。當父類的辦法被static修飾時,子類中覆蓋的辦法也必須用static修飾。反之,父類的辦法沒有static修飾,子類中覆蓋的辦法也不用static修飾。因此,本題選A。第12和16題:這2題考察子類繼承父類時構(gòu)造辦法的定義。子類繼承父類時,若父類定義了有參數(shù)的構(gòu)造辦法,而沒有定義無參數(shù)的構(gòu)造辦法,那么在子類中的構(gòu)造辦法必須用super語句去調(diào)用父類定義的有參數(shù)的構(gòu)造辦法,否則無法通過編譯。因此,建議在定義父類時,如寫了構(gòu)造辦法,最佳寫上一種無參數(shù)的構(gòu)造辦法。第18題:本題考察類的繼承。選項A中的m僅在父類的辦法參數(shù)中定義,無法給變量i賦值;選項B中的b是非靜態(tài)組員變量,在靜態(tài)的main辦法中無法直接給i賦值;父類定義的a是私有的,無法被子類繼承,因此選項C也不對。選項D中的辦法change是父類定義的公共辦法,能夠被子類繼承和調(diào)用。因此,本題選D。第23題:本題考察類的構(gòu)造辦法。程序中第2行為構(gòu)造辦法,第5行為辦法名,Test有void修飾,它不是構(gòu)造辦法,可作為實例辦法。程序編譯能通過。運行時,第9行實例化Test對象,調(diào)用第2行的構(gòu)造辦法,輸出3;然后執(zhí)行第9行調(diào)用第5行的辦法,輸出2;最后執(zhí)行11行,輸出1。因此,本題選C。第24題:本題考察子類實例化時的過程三、程序閱讀題1.int2.(1)abstract(2)getName(3)extends(4)Stringmajor(5)getMajor3.324.resultOne=0resultTwo=48resultThree=205.PineTreeOops6.MyFunc7.輸出成果為:28.hi!IamTomHowdoyoudo?9.第2行改為finaldoublePI=3.14;第5行的extends改為implements第10行的辦法聲明增加一種public,改為publicdoublearea()10.15111011.221四、編程題1.參考代碼以下:publicclassCircle{doubleradius;publicCircle(){radius=0;}publicCircle(doubler){radius=r;}publicdoublegetRadius(){returnradius;}publicdoublegetPerimeter()(return2*Math.PI*radius;}publicdoublegetArea(){returnMath.PI*radius*radius;}publicvoiddisp(){System.out.println("圓的半徑為"+getRadius()+"周長為"+getPerimeter()+"面積為"+getArea());}}publicclassCylinderextendsCircle{doubleheight;publicCylinder(doubler,doubleh){radius=r;height=h;}publicdoublegetHeight(){returnheight;}publicdoublegetCylinderArea(){return2*Math.PI*radius*(radius+height);}publicdoublegetVol(){returnMath.PI*radius*radius*height;}publicvoiddisVol(){System.out.println("圓柱體的體積為"+getVol());}}2.參考代碼以下:interfaceShape{publicabstractdoublegetArea();}classCircleimplementsShape{privateintr;Circle(intr){this.r=r;}publicdoublegetArea(){return3.14*r*r;}}classTestCircle{publicstaticvoidmain(Stringargs[]){Circlec=newCircle(5);System.out.println("園的面積為:"+c.getArea());}}3.參考代碼以下:interfaceshape{doublearea();)classTriangleimplementsshape{privatedoublea,b,c;publicTriangle(doublea,doubleb,doublec){this.a=a;this.b=b;this.c=c;}publicdoublearea(){doublep=(a+b+c)/2;returnMath.sqrt(p*(p-a)*(p-b)*(p-c));}}classCircleimplementsshape{privatedoubler;publicCircle(doubler)(this.r=r;}publicdoublearea(){returnMath.PI*r*r;}}classRectangleimplementsshape{privatedoublewidth,height;publicRectangle(doublej,doublek){width=j;height=k;}publicdoublearea(){returnwidth*height;}}publicclassTestShape{publicstaticvoidmain(Stringargs[]){shapes[]=newshape[3];s[0]=newTriangle(3,4,5);s[1]=newCircle(3.5);s[2]=newRectangle(3.5,4.0);for(inti=0;i<s.length;i++)System.out.println(s[i].area());}}4.不需要做5.(1)參考代碼以下:abstractpublicclassAnimal{publicStringname;publicintage;publicdoubleweight;publicvoidshowInfo(){System.out.println("動物名為"+name+"年紀為"+age+"歲,重量為"+weight);}abstractpublicvoidmove();abstractpublicvoideat();}(2)參考代碼以下:publicclassBirdextendsAnimal{publicBird(Stringname,intage,doubleweight){=name;this.age=age;this.weight=weight;}publicvoidshowInfo(){System.out.println("鳥名為"+name+"年紀為"+age+"重量為"+weight);}publicvoidmove(){System.out.println(name+"用翅膀在天空上!");}publicvoideat(){System.out.println(name+"喜歡吃蟲子!");}}(3)參考代碼以下:publicclassTestAnimal{publicstaticvoidmain(Stringargs[]){Animalbird=newBird("麻雀",1,0.3);bird.showInfo();bird.move();bird.eat();}6.參考代碼以下:publicclassPeople{publicStringname;publicStringsex;publicStringbothnum;publicPeople(){};publicStringprintInfo(){return"姓名:"+name+'\n'+"性別:"+sex+'\n'+"出生年月:"+bothnum;}}classTeacherextendsPeople{publicStringschool;publicintworkID;publicStringprintInfo(){returnsuper.printInfo()+'\n'+"學校:"+school+'\n'+"工號:"+workID;}}classStudentextendsPeople{publicStringschool;publicintId;publicStringdiscipline;publicStringgrade;publicStringclasses;publicStringprintInfo(){returnsuper.printInfo()+'\n'+"學校:"+school+'\n'+"學號:"+Id+'\n'+"專業(yè):"+discipline+'\n'+"年紀:"+grade+'\n'+"班級:"+classes;}}classTestPerson{publicstaticvoidmain(Stringargs[]){Teachert=newTeacher();="Tom";t.sex="男";t.bothnum="19820808";t.school="浙江工業(yè)大學";t.workID=010408;System.out.println(t.printInfo());Students=newStudent();="Jack";s.sex="男";s.bothnum="19920305";s.Id=266302;s.school="浙江工業(yè)大學";s.discipline="軟件工程";s.grade="大一";s.classes="2班";System.out.println(s.printInfo());}}7.參考代碼以下:publicclass證件{ String編號;String姓名;String出生年月;//格式mm/dd/yyString部門; public證件(){}public證件(Stringid,Stringname,Stringdate,Stringdept) {編號=id;姓名=name;出生年月=date;//格式mm/dd/yy}publicvoidsetID(Stringid){編號=id;}publicvoidsetName(Stringname){姓名=name;}publicvoidsetDate(Stringdd){出生年月=dd;}publicvoidsetDept(Stringdd){部門=dd;} publicvoiddisp(){System.out.println("姓名:"+姓名+"證件號:"+編號+"出生日期"+出生年月+"所屬部門"+部門); }}class工作證extends證件{String職務(wù);String發(fā)證日期;//格式mm/dd/yypublic工作證(){}public工作證(Stringid,Stringname,Stringdate,Stringdept,Stringtitle,Stringdd){ super(id,name,date,dept);職務(wù)=title;發(fā)證日期=dd; }publicvoidsetTitile(Stringdd){職務(wù)=dd;}publicvoidset發(fā)證日期(Stringdd){發(fā)證日期=dd;}publicvoiddisp(){super.disp();System.out.println("職務(wù):"+職務(wù)+"發(fā)證日期:"+發(fā)證日期); }}class學生證extends證件{String專業(yè);String入校時間;//格式mm/dd/yyString注冊信息;public學生證(){}public學生證(Stringid,Stringname,Stringdate,Stringdept,Stringmajor,Stringdd,Stringmsg){ super(id,name,date,dept);專業(yè)=major;入校時間=dd;注冊信息=msg;}publicvoiddisp(){super.disp();System.out.println("專業(yè):"+專業(yè)+"入校時間:"+入校時間+"注冊信息"+注冊信息); }}8.(1)參考代碼以下:interfaceAreaInterface(publicstaticfinaldoublepai=Math.PI;publicabstractdoublearea();}(2)參考代碼以下:publicclassRectangleimplementsAreaInterface{privatedoublex;privatedoubley;publicRectangle(doublex,doubley){this.x=x;this.y=y;System.out.println("長方形的長:"+x+"寬為:"+y);}publicdoublearea(){returnx*y;}publicStringtoString(){return("長方形的面積:"+this.area());}}(3)參考代碼以
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年陽江市陽東縣三年級數(shù)學第一學期期末聯(lián)考試題含解析
- 2025年氧化鋯陶瓷粉料項目提案報告模范
- 公司文員的辭職報告模板集合7篇
- 2023三年級語文下冊 第一單元 語文園地配套教學實錄 新人教版
- 北師大五年級語文下冊的教案
- 銷售年終工作總結(jié)集錦15篇
- 小學美術(shù)教案合集九篇
- 江蘇地區(qū)高一年級信息技術(shù)一年教學實錄15使用搜索引擎教學實錄
- 我的寒假學習計劃(15篇)
- 小學教師自我鑒定范文15篇
- 廣東省江門市2022-2023學年高一上學期期末調(diào)研考試物理試題(一)
- (完整版)成人學士學位英語考試歷年真題
- 蘇州市蘇教版五年級下冊數(shù)學第三單元第12課《因數(shù)和倍數(shù)整理練習(第2課時)》課件
- JJF 1806-2020微小孔徑測量儀校準規(guī)范
- 干部履歷表-干部履歷表
- GB/T 19929-2014土方機械履帶式機器制動系統(tǒng)的性能要求和試驗方法
- GB 2714-2015食品安全國家標準醬腌菜
- 年度先進員工選票標準格式
- 業(yè)委會年終總結(jié)報告
- 廣東省深圳市羅湖區(qū)五年級上冊期末數(shù)學試卷(及答案)
- 中國移動集團客戶經(jīng)理的工作總結(jié)
評論
0/150
提交評論