




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第7章 圓和矩形類與對(duì)象 能力目標(biāo):能力目標(biāo):學(xué)會(huì)定義類,編寫字段、方法和構(gòu)造方法等,學(xué)學(xué)會(huì)定義類,編寫字段、方法和構(gòu)造方法等,學(xué)會(huì)使用會(huì)使用new構(gòu)建對(duì)象。構(gòu)建對(duì)象。學(xué)會(huì)使用學(xué)會(huì)使用public、private等修飾符。等修飾符。學(xué)會(huì)使用關(guān)鍵字學(xué)會(huì)使用關(guān)鍵字static、final聲明類成員。聲明類成員。能定義圓類和矩形類,構(gòu)建對(duì)象,并計(jì)算它們的能定義圓類和矩形類,構(gòu)建對(duì)象,并計(jì)算它們的面積、周長和個(gè)數(shù)。面積、周長和個(gè)數(shù)。內(nèi)容介紹內(nèi)容介紹 7.1 任務(wù)預(yù)覽任務(wù)預(yù)覽 7.2 定義類定義類 7.3 構(gòu)造方法及其重載構(gòu)造方法及其重載 7.4 訪問控制修飾符訪問控制修飾符 7.5 靜態(tài)成員和實(shí)例成員
2、靜態(tài)成員和實(shí)例成員 7.6 使用使用final 7.7 程序舉例程序舉例 7.8 本章小結(jié)本章小結(jié) 7.9 實(shí)訓(xùn)實(shí)訓(xùn)7:構(gòu)建圓和矩形對(duì)象:構(gòu)建圓和矩形對(duì)象7.1 任務(wù)預(yù)覽任務(wù)預(yù)覽 本章實(shí)訓(xùn)程序運(yùn)行結(jié)果: 7.2 定義類定義類 【例7-1】定義圓類Circle,把圓的性質(zhì)和行為用代碼塊封裝起來。 class Circle /圓類private double radius; /半徑字段private double x, y; /圓心坐標(biāo)字段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(負(fù)數(shù)不能當(dāng)圓半徑); else radius = r;public double getRadius ( ) return radius; public void setRadius(double r) throws Exception if (r 0) throw new Exception(“負(fù)數(shù)不能當(dāng)圓半 徑); 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è)構(gòu)造方法是:pub
5、lic Circle() /構(gòu)造方法1num +; public Circle(double r) throws Exception /構(gòu)造方法2if (r 0) throw new Exception(“負(fù)數(shù)不能當(dāng)圓半徑); else radius = r;num +; 【例7-2】在例7-1基礎(chǔ)上,構(gòu)建若干個(gè)圓對(duì)象,并計(jì)算圓的面積和周長。Example2.java 7.4 訪問控制修飾符訪問控制修飾符 public、protected和private。 類的訪問控制方式有兩種: 缺省,稱為包可訪問性; 使用修飾符public 。 注意:類和接口interface只能用public修飾,不能
6、用protected或private修飾。 7.4.2 成員修飾符成員修飾符public、protected 和和 private 類成員有4個(gè)訪問級(jí)別: 訪問級(jí)別含義publicpublic公共的成員,訪問不受限制,訪問級(jí)別最高,范公共的成員,訪問不受限制,訪問級(jí)別最高,范圍最大圍最大protectedprotected 受保護(hù)的成員,能被所有派生類繼承,訪問限于受保護(hù)的成員,能被所有派生類繼承,訪問限于本包本包缺省的缺省的包可訪問的成員,訪問限于所在的包包可訪問的成員,訪問限于所在的包privateprivate私有成員,訪問僅限于本類,訪問級(jí)別最低,范私有成員,訪問僅限于本類,訪問級(jí)別最
7、低,范圍最小圍最小編程風(fēng)格編程風(fēng)格推薦采用下面方式命名類及其成員:推薦采用下面方式命名類及其成員:(1 1類名以大寫字母開頭。如圓類:類名以大寫字母開頭。如圓類:class class Circle . Circle . (2 2類成員以小寫字母開頭,如計(jì)算面積方法:類成員以小寫字母開頭,如計(jì)算面積方法:calcAreacalcArea(3 3常量全部以大寫字母命名。如圓周率常量全部以大寫字母命名。如圓周率 PIPI。 7.5 靜態(tài)成員和實(shí)例成員 用static修飾的成員稱為靜態(tài)成員靜態(tài)字段和靜態(tài)方法)。 如例7-1中,Circle類的靜態(tài)成員有:private static int num;
8、 /圓對(duì)象個(gè)數(shù)public static final double PI = 3.14159; /圓周率public static int getNum() return num; 靜態(tài)成員能被類的所有對(duì)象共享。 7.5.1 使用使用static聲明靜態(tài)成員聲明靜態(tài)成員使用類名作前綴引用靜態(tài)成員的一般形式:類名.方法名(實(shí)參表)類名.字段名7.5.2 實(shí)例成員與關(guān)鍵字實(shí)例成員與關(guān)鍵字this 實(shí)例成員實(shí)例字段、實(shí)例方法):沒有static修飾的成員。 實(shí)例成員就是非靜態(tài)成員。 實(shí)例成員為類對(duì)象所獨(dú)占。 使用對(duì)象實(shí)例作前綴引用實(shí)例成員,語法形式: 關(guān)鍵字this用于指代當(dāng)前的對(duì)象。因而,類內(nèi)部可
9、以使用this作前綴引用實(shí)例成員。 例如,Circle類中可用this.radius引用實(shí)例字段radius。 對(duì)象名對(duì)象名.方法名方法名(實(shí)參表實(shí)參表) 對(duì)象名對(duì)象名.字段名字段名 7.6 使用final 聲明符號(hào)常量要使用關(guān)鍵字final。例如,聲明圓周率PI:public static final double PI=3.14159;習(xí)慣使用大寫字母來命名符號(hào)常量。符號(hào)常量只能賦值一次。關(guān)鍵字final既可聲明字段,也可聲明局部變量。聲明字段時(shí)通常與static一起使用。注意:由于圓周率使用廣泛,Java系統(tǒng)已在Math數(shù)學(xué)類中定義了。7.6.1 使用使用final聲明常量聲明常量7.6
10、.2 使用final聲明方法 關(guān)鍵字final除了聲明常量,還可聲明方法。 比如Circle類的計(jì)算面積方法,可以改為如下定義:public final double calcArea() return PI * radius * radius; 使用final聲明的方法就是最終方法,不允許派生子類重寫,即不允許更改方法內(nèi)容。7.6.3 使用final聲明類 final還可聲明類,這就是最終類 最終類不能被繼承,不能派生子類。 例如:系統(tǒng)類System就是一個(gè)最終類,其聲明如下: public final class System . 7.7 程序舉例 【例7-3】定義一個(gè)兒童類,構(gòu)建若干個(gè)小
11、朋友對(duì)象,并輸出有關(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(= 報(bào)數(shù):%d =n, Child.getNum(); Child child2 = new Child(“張華”, 男, 5); Child child3 = new Child(佳妮, 女, 3); System.out.printf(= 報(bào)數(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è)住房類,構(gòu)建若干套房子對(duì)象,并輸出有關(guān)數(shù)據(jù)。 class 住房private double 面積;private int 房間數(shù) ;private String 朝向;private int 房號(hào);private static int 總套數(shù);public 住房(double 面積, int 房間數(shù),
14、 String 朝向, int 房號(hào))this.面積 = 面積;this.房間數(shù) = 房間數(shù);this.朝向 = 朝向;this.房號(hào) = 房號(hào);住房.總套數(shù) +;public String 獲取住房信息()return String.format(第%d套:%d號(hào)房,面積%.2f平方米,%d房,%s朝向, 總套數(shù), 房號(hào), 面積, 房間數(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é) 類與對(duì)象之間的關(guān)系是總體和個(gè)體關(guān)系。 構(gòu)造方法是與類同名的特殊方法。類的構(gòu)造方法可以重載。 類的主要成員是字段和方法,類各個(gè)對(duì)象也擁有字段和方法。 訪問控制修飾符public、protected和private,其中public除了修飾類成員,還可修飾類本身,其余兩個(gè)只能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鎮(zhèn)痛藥培訓(xùn)課件
- 2025年球型網(wǎng)絡(luò)攝像機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年玄武巖纖維布項(xiàng)目可行性研究報(bào)告
- 2025年牛肉丁項(xiàng)目可行性研究報(bào)告
- 2025春新版六年級(jí)科學(xué)下冊 填空題專項(xiàng)練習(xí)
- 低壓電器 課件 單元三 項(xiàng)目二 任務(wù)三 掌握三相異步電動(dòng)機(jī)單向連續(xù)控制線路
- 呼和浩特民族學(xué)院《內(nèi)蒙古地理》2023-2024學(xué)年第二學(xué)期期末試卷
- 麗水市重點(diǎn)中學(xué)2024-2025學(xué)年初三畢業(yè)班適應(yīng)性練習(xí)卷(化學(xué)試題)含解析
- 2025春新版四年級(jí)下冊語文 【期末復(fù)習(xí):文言文專項(xiàng)考查】
- 2025春新版【五年級(jí)下冊語文】 詞語造句訓(xùn)練
- 2025年03月四川成都農(nóng)業(yè)科技中心公開招聘筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年03月國家機(jī)關(guān)事務(wù)管理局所屬事業(yè)單位公開招聘應(yīng)屆畢業(yè)生14人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 全過程工程咨詢投標(biāo)方案(技術(shù)方案)
- 旅拍店合伙人協(xié)議書范本
- 握筆姿勢詳解全解課件
- 《三會(huì)一課》培訓(xùn)測試題
- Seminar_帶SPL的安全集成
- 國家開放大學(xué)《電工電子技術(shù)》章節(jié)自測題參考答案
- GB∕T 16754-2021 機(jī)械安全 急停功能 設(shè)計(jì)原則
- 中國美術(shù)學(xué)院學(xué)士學(xué)位論文規(guī)范化要求
- 百科知識(shí)競賽PPT(可直接使用)
評(píng)論
0/150
提交評(píng)論