4 習題解析4 -第4章 類、對 象和方法_第1頁
4 習題解析4 -第4章 類、對 象和方法_第2頁
4 習題解析4 -第4章 類、對 象和方法_第3頁
4 習題解析4 -第4章 類、對 象和方法_第4頁
4 習題解析4 -第4章 類、對 象和方法_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第4章類、對象和方法習題解析1.選擇題(1)以下關于類的描述中,錯誤的是()。A、在面向對象的思想中最核心就是對象,為了在程序中創(chuàng)建對象,首先需要定義一個類B、定義類的關鍵字是InterfaceC、類中的方法叫成員方法,成員方法又分為實例方法與類方法D、類中的屬性叫成員屬性,成員屬性又分為實例屬性與類屬性答案:B(2)下列關于構造方法的描述中,錯誤的是()。A、構造方法的方法名必須和類名一致B、構造方法不能寫返回值類型C、構造方法可以重載D、構造方法的訪問權限必須和類的訪問權限一致答案:D(3)類的定義必須包含在以下哪種符號之間()。A、[]B、{}C、""D、()答案:B(4)在以下什么情況下,構造方法會被調用()。A、類定義時B、創(chuàng)建對象時C、調用對象方法時D、使用對象的變量時答案:B(5)重載指的是方法具有相同的名字,但這些方法的參數(shù)必須不同。下列哪種說法不屬于方法參數(shù)的不同()。A、形式參數(shù)的個數(shù)不同B、形式參數(shù)的類型不同C、形式參數(shù)的名字不同D、形式參數(shù)類型的排列順序不同答案:C(6)“隱藏對象的屬性和實現(xiàn)細節(jié),僅對外提供公有的方法”描述的是面向對象的哪個特征()。A、封裝B、繼承C、多態(tài)D、以上都不是答案:A(7)下列關于靜態(tài)方法的描述中,錯誤的是()。A、靜態(tài)方法屬于類的共享成員B、靜態(tài)方法是通過"類名.方法名"的方式來調用C、靜態(tài)方法只能被類調用,不能被對象調用D、靜態(tài)方法中可以訪問靜態(tài)變量答案:C(8)為了能讓外界訪問私有屬性,需要提供一些使用()關鍵字修飾的方法。A、voidB、defaultC、privateD、public答案:D(9)閱讀下面的代碼classDemo{privateStringname;Demo(Stringname){=name;}privatestaticvoidshow(){System.out.println(name)}publicstaticvoidmain(String[]args){Demod=newDemo(“l(fā)isa”);d.show();}}下列關于程序運行結果的描述中,正確的是()。A、輸出lisaB、輸出nullC、輸出nameD、編譯失敗,無法從靜態(tài)上下文中引用非靜態(tài)變量name答案:D(10)定義類A如下:classA{inta,b,c;publicvoidB(intx,inty,intz){a=x;b=y;c=z;}}下面對方法B的重載哪些是正確的()。A、publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;}B、publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;}C、publicvoidB(intx,inty){a=x;b=y;c=0;}D、publicB(intx,inty,intz){a=x;b=y;c=z;}答案:C2.填空題(1)面向對象的三大特征是(封裝)、(繼承)和 (多態(tài))。(2)構造函數(shù)(沒有)返回值。(3)定義在類的變量被稱為(成員變量),定義在方法中的變量被稱為(局部變量)。(4)Personp1=newPerson();Personp2=p1;這兩句代碼創(chuàng)建了(1)個對象。(5)靜態(tài)方法必須使用(static)關鍵字來修飾。(6)在Java中解決成員變量與局部變量名稱沖突時,可以使用(this)關鍵字。(7)int類型的成員變量初始化值為(0),引用型類型的成員變量初始化值為(null)。3.綜合題(1)使用Eclipse創(chuàng)建名為“task4_1A”的Java項目,在該項目中創(chuàng)建一個名為“Rectangle”的Java類,該類實現(xiàn)左下圖所示UML類圖的功能(Rectangle類代碼實現(xiàn)可參考教材46頁)。在“task4_1A”項目中再創(chuàng)建一個名為“Task4_1A”的Java主類,在該類的main方法中使用Rectangle類(參考代碼如右下圖所示)。參考答案:publicclassRectangle{doubleweight,height;publicdoublegetArea(){ doublearea; area=weight*height; returnarea;}}publicclassTask4_1A{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub RectanglemyRect1; myRect1=newRectangle(); myRect1.weight=10; myRect1.height=10; System.out.println(myRect1.getArea()); }}使用Eclipse創(chuàng)建名為“task4_2A”的Java項目,在該項目中創(chuàng)建一個名為“MyMath”的Java類,分別實現(xiàn)如下面UML類圖所示方法。方法nfact用于求參數(shù)n的階乘,方法max用于求參數(shù)a和b中的最大值,方法isPrime用于判斷參數(shù)n是否是質數(shù)。在“task4_2A”項目中再創(chuàng)建一個名為“Task4_2A”的Java主類,在該類的main方法中使用MyMath類(參考代碼如下圖所示)。參考答案:publicclassmyMath{publiclongnfact(intn){ longsum=1; for(inti=1;i<=n;i++){ sum=sum*i; } returnsum;}publicintmax(inta,intb){ intk; if(a>b) k=a; else k=b; returnk;}publicbooleanisPrime(intn){ booleanf=true; intj; for(j=2;j<=n;j++){ if(n%j==0) break; } if(j<n) f=false; returnf; }}publicclassTask4_2A{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstubmyMathmathTool=newmyMath();intx=8;System.out.println(x+"!="+mathTool.nfact(x));inty=(int)(Math.random()*10)+3;System.out.println(x+","+y+"中最大的數(shù)是:"+mathTool.max(x,y));for(intz=101;z<=119;z=z+2){ if(mathTool.isPrime(z)) System.out.println(z+"是素數(shù)"); else System.out.println(z+"不是素數(shù)");} }}編在Eclipse中實驗對象的組合方法。使用Eclipse創(chuàng)建名為“task4_7”的Java項目,在該項目中創(chuàng)建一個名稱為“Circle”的Java類(表示圓),其成員變量和方法如上面UML類圖所示。在“task4_7”項目中再創(chuàng)建一個名稱為“Cylinder”的Java類(表示圓柱體),其成員變量和方法如上面UML類圖所示,其中,成員變量bottom為Circle類的對象。在“task4_7”項目中再創(chuàng)建一個名為“Task4_7”的Java主類,該類的main方法代碼如下圖所示。參考答案:packagetask4_7;publicclassCircle{ doubleradius; doublegetArea(){ returnMath.PI*radius*radius;}}packagetask4_7; publicclassCylinder{ doubleheight; Circlebotoom; publicvoidsetBotoom(Circlec){ this.botoom=c; } doublegetVolume(){ returnbotoom.getArea()*height; }}packagetask4_7;publicclassTask4_7{ publicstaticvoidm

溫馨提示

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

評論

0/150

提交評論