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

下載本文檔

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

文檔簡介

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

2、內容與步驟1請回答下列問題:(1)Cirecle類定義了幾個屬性?它們的類型、訪問權限各為什么?答:兩個PI,floatl類型,靜態私有權限Radius,float;類型,私有權限(2)類中的“PI”的值可以在程序的方法中更改嗎?答:不可以,因為PI為靜態變量(3)Cirecle類定義了幾個方法?它們的訪問權限怎樣?答:四個,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有權限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)/設置矩形寬度width=w;public void setLength(float l)/設置矩形長度length=l;3回

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

5、rcle Test類中如何調用對象的方法?答:Circle Test類調用對象方法: 對象名.方法4寫出OverrideTest中所缺的三行代碼:public class OverrideTest public static void main(String args) /使用Box類的無參構造方法創建方法創建對象box1 ; System.out.println(box1);/使用Box類的帶一個參數的構造方法創建對象box2,參數值為5.0 ; System.out.println(box2);/使用帶Box類帶三個參數的構造方法創建對象box3,其中三個參數長、寬、高分別為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(基礎題)一維數組的使用:根據注釋填充程序所缺代碼,然后編譯、運行該程序,并回答相關問題:/一維數組:聲明,創建,初始化,數組元素的引用及數組拷貝_String week_;/ 聲明一個名為week的String

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論