實驗報告-實驗3-類與對象_第1頁
實驗報告-實驗3-類與對象_第2頁
實驗報告-實驗3-類與對象_第3頁
實驗報告-實驗3-類與對象_第4頁
實驗報告-實驗3-類與對象_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實驗報告_實驗3 類與對象(學生學號_姓名)一、實驗?zāi)康?熟悉類的組成,掌握類的聲明方法;2理解構(gòu)造方法的作用,并掌握構(gòu)造方法的定義;3熟練使用訪問器和設(shè)置器實現(xiàn)信息隱藏和封裝;4熟悉一般方法、構(gòu)造方法的重載;5能夠正確地區(qū)分靜態(tài)變量與實例變量、靜態(tài)方法與實例方法的不同,掌握靜態(tài)變量和靜態(tài)方法的使用;6掌握對象的創(chuàng)建、引用和使用及向方法傳遞參數(shù)的方式;7掌握this關(guān)鍵字的使用以及對象數(shù)組的創(chuàng)建和訪問;8掌握Java包的創(chuàng)建、包成員的各種訪問方式;9掌握一維數(shù)組:聲明,創(chuàng)建,初始化,數(shù)組元素的訪問;10掌握多維數(shù)組的概念:二維數(shù)組的聲明,初始化,元素的訪問。二、 實驗

2、內(nèi)容與步驟1請回答下列問題:(1)Cirecle類定義了幾個屬性?它們的類型、訪問權(quán)限各為什么?答:兩個PI,floatl類型,靜態(tài)私有權(quán)限Radius,float;類型,私有權(quán)限(2)類中的“PI”的值可以在程序的方法中更改嗎?答:不可以,因為PI為靜態(tài)變量(3)Cirecle類定義了幾個方法?它們的訪問權(quán)限怎樣?答:四個,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有權(quán)限2寫出 Rectangle類的程序代碼:class Rectangleprivate float width;private float l

3、ength;public float getWidth( ) /獲取矩形寬度return width;public float getLength( )/獲取矩形長度return length;public float getPerimeter( )/獲取矩形周長return 2*(width+length);public float getArea( )/獲取矩形面積return (width*length);public void setWidth(float w)/設(shè)置矩形寬度width=w;public void setLength(float l)/設(shè)置矩形長度length=l;3回

4、答下列問題: (1)該程序中有幾個類?主類是什么?如果將這兩個類放在一個文件中,源程序文件名應(yīng)是什么?答:兩個類:Circle、CircleTest;主類是CircleTest;源程序文件名是CircleTest。(2)Circle類定義了幾個構(gòu)造方法(即構(gòu)造器)?Circle類中存在無參構(gòu)造方法嗎?如果要使用無參構(gòu)造方法,應(yīng)如何做?答:Circle類定義了個構(gòu)造方法;不存在,寫入Circle();(3)Circle Test類中創(chuàng)建了幾個Circle對象?這些對象是如何創(chuàng)建的? 答:Circle Test類創(chuàng)建了兩個Circle對象;Circle 對象名=new Circle()。(4)Ci

5、rcle Test類中如何調(diào)用對象的方法?答:Circle Test類調(diào)用對象方法: 對象名.方法4寫出OverrideTest中所缺的三行代碼:public class OverrideTest public static void main(String args) /使用Box類的無參構(gòu)造方法創(chuàng)建方法創(chuàng)建對象box1 ; System.out.println(box1);/使用Box類的帶一個參數(shù)的構(gòu)造方法創(chuàng)建對象box2,參數(shù)值為5.0 ; System.out.println(box2);/使用帶Box類帶三個參數(shù)的構(gòu)造方法創(chuàng)建對象box3,其中三個參數(shù)長、寬、高分別為10.1、20

6、.2、30.3 ;System.out.println(box3);Box box1=new Box() Box box2=new Box(5.0); Box box3=new Box(10.1,20.2,30.3);5回答下列問題:(1) this.length=length; 中的this代表什么?答:this代表類;(2) this(x, x, x); 中的this是什么含義?6(基礎(chǔ)題)一維數(shù)組的使用:根據(jù)注釋填充程序所缺代碼,然后編譯、運行該程序,并回答相關(guān)問題:/一維數(shù)組:聲明,創(chuàng)建,初始化,數(shù)組元素的引用及數(shù)組拷貝_String week_;/ 聲明一個名為week的String

7、類型的一維數(shù)組_week=new string7_;/ 為week數(shù)組分配存放7個字符串的空間for (int i=0; i<week.length;i+)/ 輸出week數(shù)組各元素的值System.out.println("week"+i+" = "+_weeki_);問題:(1)一維數(shù)組如何聲明、創(chuàng)建?如果沒有給數(shù)組元素賦值,則它們的取值如何?答:a:數(shù)據(jù)類型 數(shù)組名=new 數(shù)據(jù)類型數(shù)組的長度 ;b:數(shù)據(jù)類型 數(shù)組名 =new 數(shù)據(jù)類型數(shù)組的長度;如果沒有給數(shù)組賦值,則系統(tǒng)會自動默認它為0。(2)數(shù)組的靜態(tài)初始化具有什么功能?答:靜態(tài)初始化:

8、在定義數(shù)組的同時就為數(shù)組元素分配空間并賦值。(3)要了解數(shù)組元素的個數(shù),可用訪問數(shù)組的什么屬性得到?答:數(shù)組都有一個屬性length來指明它的長度,例如:a.length 指明數(shù)組a的長度(即元素個數(shù))。(4)怎樣引用數(shù)組的元素?寫出它的下標取值范圍。答:數(shù)組名index其中:index為數(shù)組元素下標,可以是整型常量或整型表達式,如:a0 , bi , c5*i,利用循環(huán)語句可以批量設(shè)置或訪問數(shù)組元素的值。數(shù)組元素下標從0開始,最大下標為: 數(shù)組長度-17(基礎(chǔ)題)二維數(shù)組的使用:根據(jù)注釋填充所缺代碼,然后編譯、運行該程序,并回答相關(guān)問題:/二維數(shù)組:聲明,創(chuàng)建,動態(tài)初始化,數(shù)組元素的引用/

9、聲明一個名為myArray的數(shù)組,該數(shù)組有2行,每行列數(shù)不等,并為其分配內(nèi)存空間_ int myArray2_;myArray0=new int5;/ 第一行有5個元素,并為其分配內(nèi)存空間_ myArray1=new int10_;/ 第二行有10個元素,并為其分配內(nèi)存空間for (int j=0; j<myArray0.length;j+)/ 用1-10之間的隨機整數(shù)給第一行元素賦值myArray0j=_ (int)(Math.random()*1+9)_;for (int j=0; j<_ myArray1.length _;j+) / 用100-200之間的隨機整數(shù)給第二行元

10、素賦值myArray1j=(int)(Math.random()*100+100);for (int i=0; i<_ myArray1.length _;i+)/ 輸出myArray數(shù)組各元素的值for (int j=0; j<myArrayi.length;j+)問題:(1)二維數(shù)組如何聲明、創(chuàng)建?二維數(shù)組的列數(shù)是否一定要求相同?答:數(shù)據(jù)類型 數(shù)組名 或數(shù)據(jù)類型 數(shù)組名;不要求相同。(2)二維數(shù)組如何動態(tài)初始化?答:數(shù)據(jù)類型 數(shù)組名 =new 數(shù)據(jù)類型第1維大小第2維大小(3)怎樣理解“多維數(shù)組是數(shù)組的數(shù)組”?length作用于不同的數(shù)組:myArray.length,myAr

11、ray0.length,myArray1.length,結(jié)果什么不同?(4)怎樣引用數(shù)組的元素?它們下標取值范圍怎樣?8(提高題)分析、運行下列程序,回答下列問題: (1)實例變量和類變量的含義是什么?如何聲明它們?(2)實例方法和類方法的含義是什么?如何聲明它們?(3)f()方法中可以訪問什么類型的變量和方法?(4)g()方法中可以訪問x變量嗎?可以在其中調(diào)用f()方法嗎?(5)在主類中,應(yīng)如何調(diào)用實例方法和類方法?(6)運行程序時,出現(xiàn)如下錯誤:無法從靜態(tài)上下文中引用非靜態(tài) 變量 mystring System.out.println(mystring);請分別用“類變量、類方法”和“實例

12、變量、實例方法”兩種完全不同的方法進行修改,使其能正確運行。9(提高題)寫出程序所缺代碼,并回答相關(guān)問題package lab3;/導(dǎo)入Student類 ;public class ObjectArrayExample /聲明一個長度為4的對象數(shù)組Student1 student = ; public ObjectArrayExample()/初始化對象數(shù)組 void printArrayElement() int max=0,j=0; int sum=new int4; for(int i=0;i<student.length;i+) /使用循環(huán)語句來求每個學生三門課的總分,并賦給sum數(shù)組對應(yīng)元素 sumi= ; for(int i=0;i<sum.length;i+) if(max<sumi) max=sumi; j=i; /輸出總分最高的學生的姓名、學號、語文成績、英語成績、英語成績和總分 System.out.println("總分最高的學生姓名:"+ +",學號:"+ +",語文成績:"+ +",英語成績:"+ +",數(shù)學成績:"+ +"

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論