版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
習題四參考答案一、判斷題1.對2.對3.錯4.錯5.對6.錯8.錯9.對10.對11.錯12.對13.錯14.對15.對16.錯17.對18.對19.錯20.錯【解釋】第3題:本題考察抽象類的特性。抽象類中可包含構造辦法、抽象辦法和具體實現(xiàn)的辦法以及常量和變量,但不能直接實例化,普通可對抽象類的子類實例化,實例化對象引用能夠是抽象類類型。第11題:本題考察子類中能夠寫的辦法。子類能夠繼承父類的辦法,也能夠覆蓋父類的辦法,也能夠新增加辦法,新增加的辦法與從父類繼承的辦法可構成重載。第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個參數,選項C的辦法有1個參數,都能與從父類繼承的辦法構成重載,能夠加入子類Child中;選項B和選項D辦法中的參數類型和個數都與父類定義的辦法相似,由于父類定義的辦法用public修飾,要想覆蓋父類定義的辦法,子類的辦法也必須用public修飾,因此,選項D能夠加入子類Child中,但選項B不行。第8、10、13和14題:這幾題重要考察子類中含有覆蓋辦法的調用狀況。子類對象調用辦法時,首先調用子類中同名和參數形式(參數個數、類型和次序)一致的辦法,否則就調用父類中定義的匹配的辦法。第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題考察子類繼承父類時構造辦法的定義。子類繼承父類時,若父類定義了有參數的構造辦法,而沒有定義無參數的構造辦法,那么在子類中的構造辦法必須用super語句去調用父類定義的有參數的構造辦法,否則無法通過編譯。因此,建議在定義父類時,如寫了構造辦法,最佳寫上一種無參數的構造辦法。第18題:本題考察類的繼承。選項A中的m僅在父類的辦法參數中定義,無法給變量i賦值;選項B中的b是非靜態(tài)組員變量,在靜態(tài)的main辦法中無法直接給i賦值;父類定義的a是私有的,無法被子類繼承,因此選項C也不對。選項D中的辦法change是父類定義的公共辦法,能夠被子類繼承和調用。因此,本題選D。第23題:本題考察類的構造辦法。程序中第2行為構造辦法,第5行為辦法名,Test有void修飾,它不是構造辦法,可作為實例辦法。程序編譯能通過。運行時,第9行實例化Test對象,調用第2行的構造辦法,輸出3;然后執(zhí)行第9行調用第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職務;String發(fā)證日期;//格式mm/dd/yypublic工作證(){}public工作證(Stringid,Stringname,Stringdate,Stringdept,Stringtitle,Stringdd){ super(id,name,date,dept);職務=title;發(fā)證日期=dd; }publicvoidsetTitile(Stringdd){職務=dd;}publicvoidset發(fā)證日期(Stringdd){發(fā)證日期=dd;}publicvoiddisp(){super.disp();System.out.println("職務:"+職務+"發(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新《行政處罰法》知識學習考試題庫500題(含答案)
- 2025年福建省職教高考《語文》考前沖刺模擬試題庫(附答案)
- 2025年桂林生命與健康職業(yè)技術學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 10kV配電站房工程的成本控制與優(yōu)化策略
- 國標柴油購銷合同
- 居間合同委托書范文年
- 煙草產品購銷合同
- 注冊規(guī)劃師聘用合同
- 土地平整工程承包合同
- 正規(guī)設備買賣交易合同
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 一年級數學個位數加減法口算練習題大全(連加法-連減法-連加減法直接打印版)
- 五年級上冊數學試題試卷(8篇)
- 五年級上冊小數遞等式計算200道及答案
- 冀教版五年級下冊數學全冊教學課件
- T-SDASTC 006-2023 眩暈病中西醫(yī)結合基層診療指南
- 安全個人承諾書范文個人承諾書范文
- 遠視儲備培訓課件
- 嶺南膏方規(guī)范
- 【可行性報告】2023年虛擬演播室制作設備相關行業(yè)可行性分析報告
- 世界老年人跌倒的預防和管理指南解讀及跌倒應急處理-
評論
0/150
提交評論