




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 圓和矩形類(lèi)與對(duì)象 能力目標(biāo):能力目標(biāo):學(xué)會(huì)定義類(lèi),編寫(xiě)字段、方法和構(gòu)造方法等,學(xué)學(xué)會(huì)定義類(lèi),編寫(xiě)字段、方法和構(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聲明類(lèi)成員。聲明類(lèi)成員。能定義圓類(lèi)和矩形類(lèi),構(gòu)建對(duì)象,并計(jì)算它們的能定義圓類(lèi)和矩形類(lèi),構(gòu)建對(duì)象,并計(jì)算它們的面積、周長(zhǎng)和個(gè)數(shù)。面積、周長(zhǎng)和個(gè)數(shù)。內(nèi)容介紹內(nèi)容介紹 7.1 任務(wù)預(yù)覽任務(wù)預(yù)覽 7.2 定義類(lèi)定義類(lèi) 7.3 構(gòu)造方法及其重載構(gòu)造方法及其重載 7.4 訪問(wèn)控制修飾符訪問(wèn)控制修飾符 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 定義類(lèi)定義類(lèi) 【例7-1】定義圓類(lèi)Circle,把圓的性質(zhì)和行為用代碼塊封裝起來(lái)。 class Circle /圓類(lèi)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 類(lèi)定義的一般形式類(lèi)定義的一般形式 可選public 可選abstract 可選final class 類(lèi)名 字段、方法等成員以及構(gòu)造方法類(lèi)字段成員一般聲明為private,這是類(lèi)的封裝性要求。類(lèi)的方法成員一般聲明為public。注意:類(lèi)允許嵌套定義。 7.3 構(gòu)造方法及其重載構(gòu)造方法及其重載 可選public等 構(gòu)造方法名( 可選形參表 ) 可選throws子句 方法體語(yǔ)句例7-1定義的Circle類(lèi)兩個(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ì)算圓的面積和周長(zhǎng)。Example2.java 7.4 訪問(wèn)控制修飾符訪問(wèn)控制修飾符 public、protected和private。 類(lèi)的訪問(wèn)控制方式有兩種: 缺省,稱(chēng)為包可訪問(wèn)性; 使用修飾符public 。 注意:類(lèi)和接口interface只能用public修飾,不能
6、用protected或private修飾。 7.4.2 成員修飾符成員修飾符public、protected 和和 private 類(lèi)成員有4個(gè)訪問(wèn)級(jí)別: 訪問(wèn)級(jí)別含義publicpublic公共的成員,訪問(wèn)不受限制,訪問(wèn)級(jí)別最高,范公共的成員,訪問(wèn)不受限制,訪問(wèn)級(jí)別最高,范圍最大圍最大protectedprotected 受保護(hù)的成員,能被所有派生類(lèi)繼承,訪問(wèn)限于受保護(hù)的成員,能被所有派生類(lèi)繼承,訪問(wèn)限于本包本包缺省的缺省的包可訪問(wèn)的成員,訪問(wèn)限于所在的包包可訪問(wèn)的成員,訪問(wèn)限于所在的包privateprivate私有成員,訪問(wèn)僅限于本類(lèi),訪問(wèn)級(jí)別最低,范私有成員,訪問(wèn)僅限于本類(lèi),訪問(wèn)級(jí)別最
7、低,范圍最小圍最小編程風(fēng)格編程風(fēng)格推薦采用下面方式命名類(lèi)及其成員:推薦采用下面方式命名類(lèi)及其成員:(1 1類(lèi)名以大寫(xiě)字母開(kāi)頭。如圓類(lèi):類(lèi)名以大寫(xiě)字母開(kāi)頭。如圓類(lèi):class class Circle . Circle . (2 2類(lèi)成員以小寫(xiě)字母開(kāi)頭,如計(jì)算面積方法:類(lèi)成員以小寫(xiě)字母開(kāi)頭,如計(jì)算面積方法:calcAreacalcArea(3 3常量全部以大寫(xiě)字母命名。如圓周率常量全部以大寫(xiě)字母命名。如圓周率 PIPI。 7.5 靜態(tài)成員和實(shí)例成員 用static修飾的成員稱(chēng)為靜態(tài)成員靜態(tài)字段和靜態(tài)方法)。 如例7-1中,Circle類(lèi)的靜態(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)成員能被類(lèi)的所有對(duì)象共享。 7.5.1 使用使用static聲明靜態(tài)成員聲明靜態(tài)成員使用類(lèi)名作前綴引用靜態(tài)成員的一般形式:類(lèi)名.方法名(實(shí)參表)類(lèi)名.字段名7.5.2 實(shí)例成員與關(guān)鍵字實(shí)例成員與關(guān)鍵字this 實(shí)例成員實(shí)例字段、實(shí)例方法):沒(méi)有static修飾的成員。 實(shí)例成員就是非靜態(tài)成員。 實(shí)例成員為類(lèi)對(duì)象所獨(dú)占。 使用對(duì)象實(shí)例作前綴引用實(shí)例成員,語(yǔ)法形式: 關(guān)鍵字this用于指代當(dāng)前的對(duì)象。因而,類(lèi)內(nèi)部可
9、以使用this作前綴引用實(shí)例成員。 例如,Circle類(lèi)中可用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í)慣使用大寫(xiě)字母來(lái)命名符號(hào)常量。符號(hào)常量只能賦值一次。關(guān)鍵字final既可聲明字段,也可聲明局部變量。聲明字段時(shí)通常與static一起使用。注意:由于圓周率使用廣泛,Java系統(tǒng)已在Math數(shù)學(xué)類(lèi)中定義了。7.6.1 使用使用final聲明常量聲明常量7.6
10、.2 使用final聲明方法 關(guān)鍵字final除了聲明常量,還可聲明方法。 比如Circle類(lèi)的計(jì)算面積方法,可以改為如下定義:public final double calcArea() return PI * radius * radius; 使用final聲明的方法就是最終方法,不允許派生子類(lèi)重寫(xiě),即不允許更改方法內(nèi)容。7.6.3 使用final聲明類(lèi) final還可聲明類(lèi),這就是最終類(lèi) 最終類(lèi)不能被繼承,不能派生子類(lèi)。 例如:系統(tǒng)類(lèi)System就是一個(gè)最終類(lèi),其聲明如下: public final class System . 7.7 程序舉例 【例7-3】定義一個(gè)兒童類(lèi),構(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è)住房類(lèi),構(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é) 類(lèi)與對(duì)象之間的關(guān)系是總體和個(gè)體關(guān)系。 構(gòu)造方法是與類(lèi)同名的特殊方法。類(lèi)的構(gòu)造方法可以重載。 類(lèi)的主要成員是字段和方法,類(lèi)各個(gè)對(duì)象也擁有字段和方法。 訪問(wèn)控制修飾符public、protected和private,其中public除了修飾類(lèi)成員,還可修飾類(lèi)本身,其余兩個(gè)只能
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- VB開(kāi)發(fā)流程的常見(jiàn)問(wèn)題及答案
- 軟件考試試題及答案總結(jié)分享
- 開(kāi)放源代碼軟件考試題目及答案
- 信息處理技術(shù)員考試題庫(kù)及答案
- 2025屆湖南省岳陽(yáng)市汨羅市沙溪中學(xué)數(shù)學(xué)七下期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 兒童活動(dòng)中心安全防范措施計(jì)劃
- 明確任務(wù)分工的實(shí)施方案計(jì)劃
- 校內(nèi)交流與學(xué)習(xí)共享活動(dòng)計(jì)劃
- 軟件水平考試信息處理試題及答案
- 教學(xué)日志撰寫(xiě)要求計(jì)劃
- 花木蘭短劇劇本英文版
- 教育部研究生、本科、高職學(xué)科分類(lèi)及專(zhuān)業(yè)目錄
- Unit+2+Lesson+3+Getting+To+The+Top 高中英語(yǔ)北師大版(2019)選擇性必修第一冊(cè)
- 查勘定損溝通談判技巧
- 籃球賽計(jì)分表模板
- 如何預(yù)防性侵害(公開(kāi)課)
- boschqbasics博世價(jià)值流課件
- 鐵路勞動(dòng)合同書(shū)
- 新部編版四年級(jí)下冊(cè)語(yǔ)文閱讀理解專(zhuān)項(xiàng)訓(xùn)練(15篇)
- 1000字作文方格稿紙A4打印模板直接用
- 建筑公司組織架構(gòu)與崗位職責(zé)
評(píng)論
0/150
提交評(píng)論