版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第7章 圓和矩形類與對象 能力目標:能力目標:學會定義類,編寫字段、方法和構(gòu)造方法等,學學會定義類,編寫字段、方法和構(gòu)造方法等,學會使用會使用new構(gòu)建對象。構(gòu)建對象。學會使用學會使用public、private等修飾符。等修飾符。學會使用關(guān)鍵字學會使用關(guān)鍵字static、final聲明類成員。聲明類成員。能定義圓類和矩形類,構(gòu)建對象,并計算它們的能定義圓類和矩形類,構(gòu)建對象,并計算它們的面積、周長和個數(shù)。面積、周長和個數(shù)。內(nèi)容介紹內(nèi)容介紹 7.1 任務(wù)預覽任務(wù)預覽 7.2 定義類定義類 7.3 構(gòu)造方法及其重載構(gòu)造方法及其重載 7.4 訪問控制修飾符訪問控制修飾符 7.5 靜態(tài)成員和實例成員
2、靜態(tài)成員和實例成員 7.6 使用使用final 7.7 程序舉例程序舉例 7.8 本章小結(jié)本章小結(jié) 7.9 實訓實訓7:構(gòu)建圓和矩形對象:構(gòu)建圓和矩形對象7.1 任務(wù)預覽任務(wù)預覽 本章實訓程序運行結(jié)果: 7.2 定義類定義類 【例7-1】定義圓類Circle,把圓的性質(zhì)和行為用代碼塊封裝起來。 class Circle /圓類private double radius; /半徑字段private double x, y; /圓心坐標字段public static final double PI = 3.14159; /圓周率常量字段public Circle( ) /構(gòu)造方法1public C
3、ircle(double r) /構(gòu)造方法2if (r 0) Sysetm.out.println(負數(shù)不能當圓半徑); else radius = r;public double getRadius ( ) return radius; public void setRadius(double r) throws Exception if (r 0) throw new Exception(“負數(shù)不能當圓半 徑); else radius = r; /public static int getNum( ) return num; public double calcArea( ) retur
4、n PI * radius * radius; public double calcGirth( ) return 2 * PI * radius; Circle.java 類定義的一般形式類定義的一般形式 可選public 可選abstract 可選final class 類名 字段、方法等成員以及構(gòu)造方法類字段成員一般聲明為private,這是類的封裝性要求。類的方法成員一般聲明為public。注意:類允許嵌套定義。 7.3 構(gòu)造方法及其重載構(gòu)造方法及其重載 可選public等 構(gòu)造方法名( 可選形參表 ) 可選throws子句 方法體語句例7-1定義的Circle類兩個構(gòu)造方法是:pub
5、lic Circle() /構(gòu)造方法1num +; public Circle(double r) throws Exception /構(gòu)造方法2if (r 0) throw new Exception(“負數(shù)不能當圓半徑); else radius = r;num +; 【例7-2】在例7-1基礎(chǔ)上,構(gòu)建若干個圓對象,并計算圓的面積和周長。Example2.java 7.4 訪問控制修飾符訪問控制修飾符 public、protected和private。 類的訪問控制方式有兩種: 缺省,稱為包可訪問性; 使用修飾符public 。 注意:類和接口interface只能用public修飾,不能
6、用protected或private修飾。 7.4.2 成員修飾符成員修飾符public、protected 和和 private 類成員有4個訪問級別: 訪問級別含義publicpublic公共的成員,訪問不受限制,訪問級別最高,范公共的成員,訪問不受限制,訪問級別最高,范圍最大圍最大protectedprotected 受保護的成員,能被所有派生類繼承,訪問限于受保護的成員,能被所有派生類繼承,訪問限于本包本包缺省的缺省的包可訪問的成員,訪問限于所在的包包可訪問的成員,訪問限于所在的包privateprivate私有成員,訪問僅限于本類,訪問級別最低,范私有成員,訪問僅限于本類,訪問級別最
7、低,范圍最小圍最小編程風格編程風格推薦采用下面方式命名類及其成員:推薦采用下面方式命名類及其成員:(1 1類名以大寫字母開頭。如圓類:類名以大寫字母開頭。如圓類:class class Circle . Circle . (2 2類成員以小寫字母開頭,如計算面積方法:類成員以小寫字母開頭,如計算面積方法:calcAreacalcArea(3 3常量全部以大寫字母命名。如圓周率常量全部以大寫字母命名。如圓周率 PIPI。 7.5 靜態(tài)成員和實例成員 用static修飾的成員稱為靜態(tài)成員靜態(tài)字段和靜態(tài)方法)。 如例7-1中,Circle類的靜態(tài)成員有:private static int num;
8、 /圓對象個數(shù)public static final double PI = 3.14159; /圓周率public static int getNum() return num; 靜態(tài)成員能被類的所有對象共享。 7.5.1 使用使用static聲明靜態(tài)成員聲明靜態(tài)成員使用類名作前綴引用靜態(tài)成員的一般形式:類名.方法名(實參表)類名.字段名7.5.2 實例成員與關(guān)鍵字實例成員與關(guān)鍵字this 實例成員實例字段、實例方法):沒有static修飾的成員。 實例成員就是非靜態(tài)成員。 實例成員為類對象所獨占。 使用對象實例作前綴引用實例成員,語法形式: 關(guān)鍵字this用于指代當前的對象。因而,類內(nèi)部可
9、以使用this作前綴引用實例成員。 例如,Circle類中可用this.radius引用實例字段radius。 對象名對象名.方法名方法名(實參表實參表) 對象名對象名.字段名字段名 7.6 使用final 聲明符號常量要使用關(guān)鍵字final。例如,聲明圓周率PI:public static final double PI=3.14159;習慣使用大寫字母來命名符號常量。符號常量只能賦值一次。關(guān)鍵字final既可聲明字段,也可聲明局部變量。聲明字段時通常與static一起使用。注意:由于圓周率使用廣泛,Java系統(tǒng)已在Math數(shù)學類中定義了。7.6.1 使用使用final聲明常量聲明常量7.6
10、.2 使用final聲明方法 關(guān)鍵字final除了聲明常量,還可聲明方法。 比如Circle類的計算面積方法,可以改為如下定義:public final double calcArea() return PI * radius * radius; 使用final聲明的方法就是最終方法,不允許派生子類重寫,即不允許更改方法內(nèi)容。7.6.3 使用final聲明類 final還可聲明類,這就是最終類 最終類不能被繼承,不能派生子類。 例如:系統(tǒng)類System就是一個最終類,其聲明如下: public final class System . 7.7 程序舉例 【例7-3】定義一個兒童類,構(gòu)建若干個小
11、朋友對象,并輸出有關(guān)數(shù)據(jù)。 class Child private String name; private char sex;private int age;private static int num;public Child( ) Child.num+; public Child(String name, char sex, int age) = name;this.sex = sex;this.age = age;Child.num+; public static void main(String args) Child child1 = new Child(露絲,
12、 女, 4); System.out.printf(%s小朋友:%c,%d歲n, child1.getName(), child1.getSex(), child1.getAge(); child1.like(唱歌、朗讀); System.out.printf(= 報數(shù):%d =n, Child.getNum(); Child child2 = new Child(“張華”, 男, 5); Child child3 = new Child(佳妮, 女, 3); System.out.printf(= 報數(shù):%d =n, ); public void like(String content) p
13、ublic String getName() return name; public void setName(String name) = name; public static int getNum() return num; Example3.java【例7-4】定義一個住房類,構(gòu)建若干套房子對象,并輸出有關(guān)數(shù)據(jù)。 class 住房private double 面積;private int 房間數(shù) ;private String 朝向;private int 房號;private static int 總套數(shù);public 住房(double 面積, int 房間數(shù),
14、 String 朝向, int 房號)this.面積 = 面積;this.房間數(shù) = 房間數(shù);this.朝向 = 朝向;this.房號 = 房號;住房.總套數(shù) +;public String 獲取住房信息()return String.format(第%d套:%d號房,面積%.2f平方米,%d房,%s朝向, 總套數(shù), 房號, 面積, 房間數(shù), 朝向); public static void main(String args) 住房 房子;房子 = new 住房(112.3, 3, 東南, 501);System.out.println(房子.獲取住房信息(); 房子 = new 住房(120.
15、2, 3, 東北, 502);System.out.println(房子.獲取住房信息(); 房子 = new 住房(135.8, 4, 西南, 503);System.out.println(房子.獲取住房信息(); 房子 = new 住房(170.6, 5, 西北, 504);System.out.println(房子.獲取住房信息(); 房子 = new 住房(112.3, 3, 東南, 601);System.out.println(房子.獲取住房信息(); Example4.java7.8 本章小結(jié) 類與對象之間的關(guān)系是總體和個體關(guān)系。 構(gòu)造方法是與類同名的特殊方法。類的構(gòu)造方法可以重載。 類的主要成員是字段和方法,類各個對象也擁有字段和方法。 訪問控制修飾符public、protected和private,其中public除了修飾類成員,還可修飾類本身,其余兩個只能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度數(shù)碼產(chǎn)品銷售承包經(jīng)營合同樣本3篇
- 二零二五年度房地產(chǎn)項目融資合同還款期付款臺賬3篇
- 二零二五年度光纜鋪設(shè)及維護合同2篇
- 2025年度汽車銷售代理固定總價合同3篇
- 二零二五年度房產(chǎn)贈與離婚協(xié)議雙項保障合同3篇
- 二零二五年度建議書審核、采納與實施效果評估服務(wù)協(xié)議3篇
- 美國課程設(shè)計先驅(qū)是
- 海南衛(wèi)生健康職業(yè)學院《醫(yī)用檢驗儀器與體外診斷試劑》2023-2024學年第一學期期末試卷
- 2025版頂名支付方式下的商業(yè)房產(chǎn)買賣合同3篇
- 二零二五年度城市綠化與生態(tài)保護合作協(xié)議2篇
- 血細胞分析報告規(guī)范化指南2020
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應用實踐指導材料之7:“5領(lǐng)導作用-5.1領(lǐng)導作用和承諾”(雷澤佳編制-2025B0)
- 2024年快速消費品物流配送合同6篇
- 廣東省茂名市2024屆高三上學期第一次綜合測試(一模)歷史 含解析
- 神經(jīng)重癥氣管切開患者氣道功能康復與管理學習與臨床應用
- 機電傳動單向數(shù)控平臺-礦大-機械電子-有圖
- 《中國近現(xiàn)代史綱要(2023版)》課后習題答案合集匯編
- GB 28261-2012安全氣囊氣體發(fā)生器用點火具生產(chǎn)安全技術(shù)條件
- RT qPCR(實時熒光定量PCR)課件
- 醫(yī)院發(fā)熱門診工作考核表
- 螺桿空壓機作業(yè)指導書
評論
0/150
提交評論