




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)單元二:面向?qū)ο蟪绦蛟O(shè)計(jì)單元二:面向?qū)ο蟪绦蛟O(shè)計(jì) Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 知識(shí)目標(biāo) 類的方法組成部分; 定義和使用類的方法; 變量作用域; 定義包和導(dǎo)入包的關(guān)鍵字; 構(gòu)造方法實(shí)現(xiàn)對(duì)象成員的初始化; 方法重載; 對(duì)構(gòu)造方法進(jìn)行重載 。 能力目標(biāo) 會(huì)定義和使用類的方法; 能夠理解變量作用域; 會(huì)創(chuàng)建包組織Java工程; 能夠掌握構(gòu)造方法; 能夠掌握方法重載 。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)4任務(wù)陳述任務(wù)陳述123知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備任務(wù)實(shí)施任務(wù)實(shí)施任務(wù)拓展任務(wù)拓展任務(wù)實(shí)訓(xùn)任務(wù)實(shí)訓(xùn)5 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)任務(wù)描述:任務(wù)描述: 借
2、書卡是學(xué)生日常生活重要組成部分。每張借書卡信息包含賬號(hào)、持卡人姓名、身份證號(hào)碼、地址、已借書數(shù)、可借書數(shù)、本次借書數(shù)、本次還書數(shù)。使用借書卡還可以借書、還書和查詢。要求:根據(jù)持卡人不同操作,顯示不同信息。當(dāng)借書操作后,顯示本次借書數(shù)及已借書數(shù);當(dāng)還書操作時(shí),顯示本次還書數(shù)和已借書數(shù)。 運(yùn)行結(jié)果:運(yùn)行結(jié)果: Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2.4類的方法類的方法2.4.1定義類的方法定義類的方法Java 類中方法的聲明采用以下格式:訪問修飾符訪問修飾符返回值類型返回值類型 方法名稱方法名稱 (參數(shù)列表參數(shù)列表) 方法體方法體1. 返回值類型:返回值類型:表示方法返回值的類型。如果方法不返回
3、任何值,它必須聲明為 void(空)。對(duì)于有返回值的方法,方法中一定有return語句,方法的返回值類型和return語句后面的類型一樣。例如,如果一個(gè)方法中含有代碼 return “aaaa”;那么包含該句的方法返回值是字符型。接收方法返回值的變量也必須與指定方法返回值的類型相兼容。2. 方法名稱:方法名稱:可以是任何合法標(biāo)識(shí)符,但具有意義,第一個(gè)字母小寫。3. 參數(shù)列表:參數(shù)列表:允許將參數(shù)值傳遞到方法中。列舉的元素由逗號(hào)分開,而每一個(gè)元素包含一個(gè)類型和一個(gè)標(biāo)識(shí)符,也稱之為形參。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2.1.2 2.1.2 使用類的方法使用類的方法 對(duì)象創(chuàng)建以后,使用“.
4、”操作符實(shí)現(xiàn)對(duì)其方法調(diào)用,方法中的局部變量被分配內(nèi)存空間,方法執(zhí)行完畢,局部變量即刻釋放內(nèi)存。 1. 1. 無參方法的調(diào)用無參方法的調(diào)用 類的方法在使用時(shí)一般要先創(chuàng)建類的對(duì)象,再通過對(duì)象調(diào)用方法。 例如,定義Person類的對(duì)象zhangsan :Person zhangsan =new Person(); 然后通過對(duì)象調(diào)用類的方法。例如調(diào)用學(xué)習(xí)方法: zhangsan.study();/study方法返回值為String類型 如果需要利用study()方法的返回值,可以將返回結(jié)果賦給同一類型的變量。例如: String s1= zhangsan.study(); Java Java 程序設(shè)計(jì)
5、程序設(shè)計(jì)2. 2. 有參方法的調(diào)用有參方法的調(diào)用 同樣在定義了類的對(duì)象后調(diào)用,并需要傳入實(shí)際的參數(shù),此時(shí)的參數(shù)稱為實(shí)際參數(shù),簡稱實(shí)參。實(shí)參必須與方法定義中的形參一致,所謂的一致是要求參數(shù)個(gè)數(shù)、參數(shù)類型、參數(shù)的排列順序一致參數(shù)個(gè)數(shù)、參數(shù)類型、參數(shù)的排列順序一致。 例如,定義Person類的對(duì)象zhangsan,通過對(duì)象調(diào)用類的play方法,play方法中含有一個(gè)String類型的變量:zhangsan.play(“football”); /對(duì)象名. play方法 同樣如果需要利用方法的返回值,可以將返回結(jié)果賦給同一類型變量。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)3. 3. 靜態(tài)方法的調(diào)用靜態(tài)方法
6、的調(diào)用 靜態(tài)方法的調(diào)用無需定義對(duì)象,可以通過類名直接使用,我們也稱這種方法為類方法。定義格式:定義格式: public static 返回值返回值 方法名方法名(參數(shù)列表參數(shù)列表) 調(diào)用格式:調(diào)用格式: 類名類名.方法名方法名(實(shí)參實(shí)參1,實(shí)參實(shí)參2,); 例如,在類Person中定義一個(gè)靜態(tài)方法eat():public static void eat() 那么,靜態(tài)方法的調(diào)用: Person. eat(); 注意:注意:靜態(tài)方法內(nèi)部只能調(diào)用靜態(tài)方法和靜態(tài)變量。 【實(shí)例【實(shí)例2-2】計(jì)算立方體的體積程序設(shè)計(jì)】計(jì)算立方體的體積程序設(shè)計(jì) Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2.5 構(gòu)造方法構(gòu)造方
7、法 創(chuàng)建類的對(duì)象時(shí),使用new關(guān)鍵字和一個(gè)與類名相同的方法來完成,這個(gè)方法是在實(shí)例化過程中被調(diào)用的,稱之為構(gòu)造方法。構(gòu)造方法區(qū)別于普通的方法,有幾個(gè)明顯的特點(diǎn): 它的名字必須與它所在的類的名字完全相同。 不返回任何數(shù)據(jù)類型,也不需要使用void聲明。 它的作用是創(chuàng)建對(duì)象并初始化成員變量。 在創(chuàng)建對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用類的構(gòu)造方法。 構(gòu)造方法一般都用 public來聲明,這樣才能在程序任意位置創(chuàng)建對(duì)象。 每個(gè)類至少有一個(gè)構(gòu)造方法。如果不寫構(gòu)造方法,Java 將提供一個(gè)默認(rèn)的不帶參的方法體為空的構(gòu)造方法。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 格式:格式:訪問權(quán)限訪問權(quán)限 類名稱類名稱(參數(shù)參數(shù)1
8、,參數(shù)參數(shù)2,)/程序語句程序語句 ;/構(gòu)造方法沒有返回值構(gòu)造方法沒有返回值 注意:構(gòu)造方法不能像成員方法那樣直接被對(duì)象調(diào)用,只能在new運(yùn)算符實(shí)例化對(duì)象時(shí),被系統(tǒng)自動(dòng)調(diào)用。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)構(gòu)造方法分類構(gòu)造方法分類構(gòu)造方法根據(jù)參數(shù)進(jìn)行了分類:無參構(gòu)造方法和有參構(gòu)造方法。無參構(gòu)造方法和有參構(gòu)造方法。1. 1. 無參構(gòu)造方法無參構(gòu)造方法 例如: public class People public People() /使用固定值初始化成員變量 那么在含有main方法的測(cè)試類中實(shí)例化People對(duì)象時(shí): People p1= new People();注意:無參構(gòu)造方法可以不寫
9、,類中默認(rèn)含有一個(gè)無參構(gòu)造方法,并且該構(gòu)造方法的方法體內(nèi)沒有語句。而使用默認(rèn)值初始化對(duì)象成員變量,數(shù)值型變量初始為0,布爾型初始為false,字符型初始為“0”,字符串初始為null; Java Java 程序設(shè)計(jì)程序設(shè)計(jì)2. 2. 有參構(gòu)造方法有參構(gòu)造方法 例如: public class Peopleint age;String name; public People(int myAge,String myName) age=myAge; name=myName; 那么在含有main方法的測(cè)試類中實(shí)例化People對(duì)象時(shí): People p1= new People(20,”zhangsa
10、n”);上面的實(shí)例化就可以看出是把成員變量進(jìn)行了動(dòng)態(tài)的賦值。注意:當(dāng)定義了有參的構(gòu)造方法后,無參構(gòu)造方法將不再存在,如果還想使用無參的構(gòu)造方法進(jìn)行實(shí)例化對(duì)象,就需要顯性的寫出無參構(gòu)造方法。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2.3 2.3 方法重載方法重載 2.3.1 2.3.1 方法重載的概念方法重載的概念 方法重載是指多個(gè)方法享有相同的名字,但是這些方法的參數(shù)必須不同,所謂的不同是指:參數(shù)的個(gè)數(shù)不同,參數(shù)類型不同,參參數(shù)的個(gè)數(shù)不同,參數(shù)類型不同,參數(shù)的順序不同數(shù)的順序不同。返回類型不能用來區(qū)分重載的方法。在這種情況下,該方法就叫被重載了,這個(gè)過程稱為方法的重載。當(dāng)一個(gè)重載方法被調(diào)用時(shí)方
11、法名是一樣的,因此Java用參數(shù)的類型、(或)數(shù)量、(或)順序來選擇實(shí)際調(diào)用的重載方法。例如:System.out.println();里面的println這個(gè)方法就是重載方法。注意:注意:方法的重載要使用恰當(dāng),當(dāng)一個(gè)動(dòng)作(方法)分別接受不同的指令(參數(shù))產(chǎn)生不同的效果,可以使用。但過度的使用將會(huì)降低程序的可讀性。參數(shù)不同是區(qū)分重載方法的關(guān)鍵因素,參數(shù)不同主要包括以下方面的不同:參數(shù)類型不同。例如:public void method(String s);public void method(int s);參數(shù)個(gè)數(shù)不同。例如:public void method(String s,int i)
12、;public void method(String s);參數(shù)順序不同。例如:public void method(String s,int i);public void method(int i,String s); Java Java 程序設(shè)計(jì)程序設(shè)計(jì)【實(shí)例【實(shí)例2-4】求圓形的面積,要求用戶輸入任何類型的數(shù)據(jù)后都要能得到】求圓形的面積,要求用戶輸入任何類型的數(shù)據(jù)后都要能得到最終的面積值。最終的面積值。public class MethodOverloading final float PI=3.14; double calArea(double r) return PI * r * r
13、; float calArea (float r) return PI * r * r; float calArea(int r) return PI * r * r; folat calArea (String r) float i=Float.parseInt(r); return PI * r * r; 可以發(fā)現(xiàn)方法重載主要目的是為了滿足在不同輸入的情況下依然可以得到進(jìn)行相同或相似的處理。在編程上有些麻煩,但是在使用性和靈活性得到了加強(qiáng)。由于實(shí)現(xiàn)了Java在編譯時(shí)的方法的多種狀態(tài),所以有時(shí)也成為靜態(tài)多態(tài)。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)構(gòu)造方法重載構(gòu)造方法重載不僅普通方法可以重載,
14、構(gòu)造方法也可以重載。只要構(gòu)造方法的參數(shù)個(gè)數(shù)不同,或是類型不同,便可定義多個(gè)名稱相同的構(gòu)造方法?!緦?shí)例【實(shí)例2-52-5】利用構(gòu)造函數(shù)重載創(chuàng)建對(duì)不同變量初始化的對(duì)象】利用構(gòu)造函數(shù)重載創(chuàng)建對(duì)不同變量初始化的對(duì)象public class Rectangle double width; double length;Rectangle () /直接初始化為數(shù)值直接初始化為數(shù)值width = 1; length=5; Rectangle (double x)/把兩個(gè)變量初始化為相同傳入值把兩個(gè)變量初始化為相同傳入值 width = x;length =x; Rectangle (double w,doub
15、le len) /分別對(duì)兩個(gè)屬性初始化不同的值分別對(duì)兩個(gè)屬性初始化不同的值 width = w; length=len; Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2.6 變量的作用域變量的作用域變量聲明的位置決定變量作用域。Java 變量的范圍有四個(gè)級(jí)別:類級(jí)、對(duì)象實(shí)例級(jí)、方法級(jí)、塊級(jí)。 類級(jí)變量類級(jí)變量又稱全局級(jí)變量,在對(duì)象產(chǎn)生之前就已經(jīng)存在,就是static 修飾的靜態(tài)變量。 對(duì)象實(shí)例級(jí)對(duì)象實(shí)例級(jí),就是成員變量,它可以使用在整個(gè)類和對(duì)象中。 方法級(jí):方法級(jí):就是在方法內(nèi)部定義的變量,就是局部變量。 塊級(jí):塊級(jí):就是定義在一個(gè)塊內(nèi)部的變量,變量的生存周期就是這個(gè)塊, 出了這個(gè)塊就消失了,比如i
16、f、for語句的塊。注意:后面兩個(gè)級(jí)別變量作用域的判斷只需要記?。涸谧兞柯暶鞯牡胤秸业诫x它最近的一對(duì)大括號(hào)就是它的作用域,出了這對(duì)大括號(hào)就不能用了。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2.5 2.5 定義包和導(dǎo)入包的關(guān)鍵字定義包和導(dǎo)入包的關(guān)鍵字包是Java提供的文件組織形式,采用類似于文件夾的形式。包提供了訪問級(jí)別控制和命名空間管理。不同的包中允許出現(xiàn)相同名字的文件。1. 1. 定義包定義包格式:package .子包名1.子包名2.子包名n;例如:依照地域范圍+制作人+功能分類 來定義包package .can.daopackage .can.dao2. 2. 導(dǎo)入包導(dǎo)入包 格式:pac
17、kage .子包名1.子包名2.類名|*; 例如:導(dǎo)入系統(tǒng)類庫中的Date表示日期的類。 import java.util.Date;import java.util.Date; 注意:注意: 在Java中,java.lang包不需要使用import手動(dòng)導(dǎo)入,系統(tǒng)自動(dòng)位置導(dǎo)入,因此在該保內(nèi)存放了很多常用的基礎(chǔ)的類,例如Math。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)1. 1. 解決步驟解決步驟本任務(wù)中行為有借書、還書和查詢。在BookCard類分別定義了3個(gè)方法borrow(int);TheReturn(int);query()。 打開Eclipse,創(chuàng)建BookCard類; 在類大括號(hào)內(nèi)進(jìn)行
18、屬性定義; 在類的大括號(hào)內(nèi)定義3個(gè)方法,表示借書、還書和查詢; 在BookCard類的main方法中,創(chuàng)建一個(gè)BookCard類的對(duì)象; 利用創(chuàng)建的BookCard對(duì)象,使用對(duì)象名.方法的形式調(diào)用方法,完成具體的功能; Java Java 程序設(shè)計(jì)程序設(shè)計(jì)2.2.任務(wù)代碼任務(wù)代碼public class BookCard public void borrow(int cash) public void borrow(int cash) if (Remain = cash) Remain = Remain - cash;/省略輸出語句public void TheReturn(int cash) public void TheReturn(int cash) Remain = Remain + cash;/省略輸出語句public void query() public void query() System.out.println(可借書數(shù) + Remain); Java Java 程序設(shè)計(jì)程序設(shè)計(jì)1. 任務(wù)拓展要求:任務(wù)拓展要求: 原任務(wù)中原任務(wù)中方法方法 borrow(int);TheReturn(int);query()都都沒有返回值,現(xiàn)在改沒有返回值,現(xiàn)在改為正確借書、還書
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年四川客車駕駛員從業(yè)資格證考試題庫及答案
- 2025年烏海教練員考試試題及答案
- 理化培訓(xùn)課件
- 公路架梁培訓(xùn)課件
- 培訓(xùn)課件布局
- 批量裝修培訓(xùn)課件
- 小學(xué)語文奇怪題目及答案
- 中煙機(jī)械技術(shù)中心真題2024
- 2024年山東濟(jì)寧醫(yī)學(xué)院附屬醫(yī)院招聘考試真題
- 《運(yùn)籌學(xué)》期末試卷及答案 卷2
- 2025年河南省中考地理試題(含答案)
- 人教鄂教版六年級(jí)下冊(cè)科學(xué)期末專題訓(xùn)練:實(shí)驗(yàn)題、綜合題(含答案)
- 2025年度安全生產(chǎn)月培訓(xùn)課件
- 2025課件:紅色基因作風(fēng)建設(shè)七一黨課
- 2025年河北省萬唯中考定心卷生物(一)
- 國家開放大學(xué)《中文學(xué)科論文寫作》形考任務(wù)1-4參考答案
- 墩柱及蓋梁切割拆除方案
- JJF 1033-2016 《計(jì)量標(biāo)準(zhǔn)考核規(guī)范》宣貫資料
- 長輸管道工程施工組織設(shè)計(jì)
- SAP-SD信用管理實(shí)施總結(jié)
- 最新2022年監(jiān)理工程旁站及平行檢驗(yàn)項(xiàng)目列表
評(píng)論
0/150
提交評(píng)論