




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 Java Java 程序設(shè)計程序設(shè)計單元二:面向?qū)ο蟪绦蛟O(shè)計單元二:面向?qū)ο蟪绦蛟O(shè)計 Java Java 程序設(shè)計程序設(shè)計 知識目標(biāo) 類的方法組成部分; 定義和使用類的方法; 變量作用域; 定義包和導(dǎo)入包的關(guān)鍵字; 構(gòu)造方法實現(xiàn)對象成員的初始化; 方法重載; 對構(gòu)造方法進行重載 。 能力目標(biāo) 會定義和使用類的方法; 能夠理解變量作用域; 會創(chuàng)建包組織Java工程; 能夠掌握構(gòu)造方法; 能夠掌握方法重載 。 Java Java 程序設(shè)計程序設(shè)計4任務(wù)陳述任務(wù)陳述123知識準(zhǔn)備知識準(zhǔn)備任務(wù)實施任務(wù)實施任務(wù)拓展任務(wù)拓展任務(wù)實訓(xùn)任務(wù)實訓(xùn)5 Java Java 程序設(shè)計程序設(shè)計任務(wù)描述:任務(wù)描述: 借
2、書卡是學(xué)生日常生活重要組成部分。每張借書卡信息包含賬號、持卡人姓名、身份證號碼、地址、已借書數(shù)、可借書數(shù)、本次借書數(shù)、本次還書數(shù)。使用借書卡還可以借書、還書和查詢。要求:根據(jù)持卡人不同操作,顯示不同信息。當(dāng)借書操作后,顯示本次借書數(shù)及已借書數(shù);當(dāng)還書操作時,顯示本次還書數(shù)和已借書數(shù)。 運行結(jié)果:運行結(jié)果: Java Java 程序設(shè)計程序設(shè)計 2.4類的方法類的方法2.4.1定義類的方法定義類的方法Java 類中方法的聲明采用以下格式:訪問修飾符訪問修飾符返回值類型返回值類型 方法名稱方法名稱 (參數(shù)列表參數(shù)列表) 方法體方法體1. 返回值類型:返回值類型:表示方法返回值的類型。如果方法不返回
3、任何值,它必須聲明為 void(空)。對于有返回值的方法,方法中一定有return語句,方法的返回值類型和return語句后面的類型一樣。例如,如果一個方法中含有代碼 return “aaaa”;那么包含該句的方法返回值是字符型。接收方法返回值的變量也必須與指定方法返回值的類型相兼容。2. 方法名稱:方法名稱:可以是任何合法標(biāo)識符,但具有意義,第一個字母小寫。3. 參數(shù)列表:參數(shù)列表:允許將參數(shù)值傳遞到方法中。列舉的元素由逗號分開,而每一個元素包含一個類型和一個標(biāo)識符,也稱之為形參。 Java Java 程序設(shè)計程序設(shè)計 2.1.2 2.1.2 使用類的方法使用類的方法 對象創(chuàng)建以后,使用“.
4、”操作符實現(xiàn)對其方法調(diào)用,方法中的局部變量被分配內(nèi)存空間,方法執(zhí)行完畢,局部變量即刻釋放內(nèi)存。 1. 1. 無參方法的調(diào)用無參方法的調(diào)用 類的方法在使用時一般要先創(chuàng)建類的對象,再通過對象調(diào)用方法。 例如,定義Person類的對象zhangsan :Person zhangsan =new Person(); 然后通過對象調(diào)用類的方法。例如調(diào)用學(xué)習(xí)方法: zhangsan.study();/study方法返回值為String類型 如果需要利用study()方法的返回值,可以將返回結(jié)果賦給同一類型的變量。例如: String s1= zhangsan.study(); Java Java 程序設(shè)計
5、程序設(shè)計2. 2. 有參方法的調(diào)用有參方法的調(diào)用 同樣在定義了類的對象后調(diào)用,并需要傳入實際的參數(shù),此時的參數(shù)稱為實際參數(shù),簡稱實參。實參必須與方法定義中的形參一致,所謂的一致是要求參數(shù)個數(shù)、參數(shù)類型、參數(shù)的排列順序一致參數(shù)個數(shù)、參數(shù)類型、參數(shù)的排列順序一致。 例如,定義Person類的對象zhangsan,通過對象調(diào)用類的play方法,play方法中含有一個String類型的變量:zhangsan.play(“football”); /對象名. play方法 同樣如果需要利用方法的返回值,可以將返回結(jié)果賦給同一類型變量。 Java Java 程序設(shè)計程序設(shè)計3. 3. 靜態(tài)方法的調(diào)用靜態(tài)方法
6、的調(diào)用 靜態(tài)方法的調(diào)用無需定義對象,可以通過類名直接使用,我們也稱這種方法為類方法。定義格式:定義格式: public static 返回值返回值 方法名方法名(參數(shù)列表參數(shù)列表) 調(diào)用格式:調(diào)用格式: 類名類名.方法名方法名(實參實參1,實參實參2,); 例如,在類Person中定義一個靜態(tài)方法eat():public static void eat() 那么,靜態(tài)方法的調(diào)用: Person. eat(); 注意:注意:靜態(tài)方法內(nèi)部只能調(diào)用靜態(tài)方法和靜態(tài)變量。 【實例【實例2-2】計算立方體的體積程序設(shè)計】計算立方體的體積程序設(shè)計 Java Java 程序設(shè)計程序設(shè)計 2.5 構(gòu)造方法構(gòu)造方
7、法 創(chuàng)建類的對象時,使用new關(guān)鍵字和一個與類名相同的方法來完成,這個方法是在實例化過程中被調(diào)用的,稱之為構(gòu)造方法。構(gòu)造方法區(qū)別于普通的方法,有幾個明顯的特點: 它的名字必須與它所在的類的名字完全相同。 不返回任何數(shù)據(jù)類型,也不需要使用void聲明。 它的作用是創(chuàng)建對象并初始化成員變量。 在創(chuàng)建對象時,系統(tǒng)會自動調(diào)用類的構(gòu)造方法。 構(gòu)造方法一般都用 public來聲明,這樣才能在程序任意位置創(chuàng)建對象。 每個類至少有一個構(gòu)造方法。如果不寫構(gòu)造方法,Java 將提供一個默認(rèn)的不帶參的方法體為空的構(gòu)造方法。 Java Java 程序設(shè)計程序設(shè)計 格式:格式:訪問權(quán)限訪問權(quán)限 類名稱類名稱(參數(shù)參數(shù)1
8、,參數(shù)參數(shù)2,)/程序語句程序語句 ;/構(gòu)造方法沒有返回值構(gòu)造方法沒有返回值 注意:構(gòu)造方法不能像成員方法那樣直接被對象調(diào)用,只能在new運算符實例化對象時,被系統(tǒng)自動調(diào)用。 Java Java 程序設(shè)計程序設(shè)計構(gòu)造方法分類構(gòu)造方法分類構(gòu)造方法根據(jù)參數(shù)進行了分類:無參構(gòu)造方法和有參構(gòu)造方法。無參構(gòu)造方法和有參構(gòu)造方法。1. 1. 無參構(gòu)造方法無參構(gòu)造方法 例如: public class People public People() /使用固定值初始化成員變量 那么在含有main方法的測試類中實例化People對象時: People p1= new People();注意:無參構(gòu)造方法可以不寫
9、,類中默認(rèn)含有一個無參構(gòu)造方法,并且該構(gòu)造方法的方法體內(nèi)沒有語句。而使用默認(rèn)值初始化對象成員變量,數(shù)值型變量初始為0,布爾型初始為false,字符型初始為“0”,字符串初始為null; Java Java 程序設(shè)計程序設(shè)計2. 2. 有參構(gòu)造方法有參構(gòu)造方法 例如: public class Peopleint age;String name; public People(int myAge,String myName) age=myAge; name=myName; 那么在含有main方法的測試類中實例化People對象時: People p1= new People(20,”zhangsa
10、n”);上面的實例化就可以看出是把成員變量進行了動態(tài)的賦值。注意:當(dāng)定義了有參的構(gòu)造方法后,無參構(gòu)造方法將不再存在,如果還想使用無參的構(gòu)造方法進行實例化對象,就需要顯性的寫出無參構(gòu)造方法。 Java Java 程序設(shè)計程序設(shè)計 2.3 2.3 方法重載方法重載 2.3.1 2.3.1 方法重載的概念方法重載的概念 方法重載是指多個方法享有相同的名字,但是這些方法的參數(shù)必須不同,所謂的不同是指:參數(shù)的個數(shù)不同,參數(shù)類型不同,參參數(shù)的個數(shù)不同,參數(shù)類型不同,參數(shù)的順序不同數(shù)的順序不同。返回類型不能用來區(qū)分重載的方法。在這種情況下,該方法就叫被重載了,這個過程稱為方法的重載。當(dāng)一個重載方法被調(diào)用時方
11、法名是一樣的,因此Java用參數(shù)的類型、(或)數(shù)量、(或)順序來選擇實際調(diào)用的重載方法。例如:System.out.println();里面的println這個方法就是重載方法。注意:注意:方法的重載要使用恰當(dāng),當(dāng)一個動作(方法)分別接受不同的指令(參數(shù))產(chǎn)生不同的效果,可以使用。但過度的使用將會降低程序的可讀性。參數(shù)不同是區(qū)分重載方法的關(guān)鍵因素,參數(shù)不同主要包括以下方面的不同:參數(shù)類型不同。例如:public void method(String s);public void method(int s);參數(shù)個數(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è)計程序設(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)方法重載主要目的是為了滿足在不同輸入的情況下依然可以得到進行相同或相似的處理。在編程上有些麻煩,但是在使用性和靈活性得到了加強。由于實現(xiàn)了Java在編譯時的方法的多種狀態(tài),所以有時也成為靜態(tài)多態(tài)。 Java Java 程序設(shè)計程序設(shè)計構(gòu)造方法重載構(gòu)造方法重載不僅普通方法可以重載,
14、構(gòu)造方法也可以重載。只要構(gòu)造方法的參數(shù)個數(shù)不同,或是類型不同,便可定義多個名稱相同的構(gòu)造方法。【實例【實例2-52-5】利用構(gòu)造函數(shù)重載創(chuàng)建對不同變量初始化的對象】利用構(gòu)造函數(shù)重載創(chuàng)建對不同變量初始化的對象public class Rectangle double width; double length;Rectangle () /直接初始化為數(shù)值直接初始化為數(shù)值width = 1; length=5; Rectangle (double x)/把兩個變量初始化為相同傳入值把兩個變量初始化為相同傳入值 width = x;length =x; Rectangle (double w,doub
15、le len) /分別對兩個屬性初始化不同的值分別對兩個屬性初始化不同的值 width = w; length=len; Java Java 程序設(shè)計程序設(shè)計 2.6 變量的作用域變量的作用域變量聲明的位置決定變量作用域。Java 變量的范圍有四個級別:類級、對象實例級、方法級、塊級。 類級變量類級變量又稱全局級變量,在對象產(chǎn)生之前就已經(jīng)存在,就是static 修飾的靜態(tài)變量。 對象實例級對象實例級,就是成員變量,它可以使用在整個類和對象中。 方法級:方法級:就是在方法內(nèi)部定義的變量,就是局部變量。 塊級:塊級:就是定義在一個塊內(nèi)部的變量,變量的生存周期就是這個塊, 出了這個塊就消失了,比如i
16、f、for語句的塊。注意:后面兩個級別變量作用域的判斷只需要記住:在變量聲明的地方找到離它最近的一對大括號就是它的作用域,出了這對大括號就不能用了。 Java Java 程序設(shè)計程序設(shè)計 2.5 2.5 定義包和導(dǎo)入包的關(guān)鍵字定義包和導(dǎo)入包的關(guān)鍵字包是Java提供的文件組織形式,采用類似于文件夾的形式。包提供了訪問級別控制和命名空間管理。不同的包中允許出現(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ǎo)入,系統(tǒng)自動位置導(dǎo)入,因此在該保內(nèi)存放了很多常用的基礎(chǔ)的類,例如Math。 Java Java 程序設(shè)計程序設(shè)計1. 1. 解決步驟解決步驟本任務(wù)中行為有借書、還書和查詢。在BookCard類分別定義了3個方法borrow(int);TheReturn(int);query()。 打開Eclipse,創(chuàng)建BookCard類; 在類大括號內(nèi)進行
18、屬性定義; 在類的大括號內(nèi)定義3個方法,表示借書、還書和查詢; 在BookCard類的main方法中,創(chuàng)建一個BookCard類的對象; 利用創(chuàng)建的BookCard對象,使用對象名.方法的形式調(diào)用方法,完成具體的功能; Java Java 程序設(shè)計程序設(shè)計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è)計程序設(shè)計1. 任務(wù)拓展要求:任務(wù)拓展要求: 原任務(wù)中原任務(wù)中方法方法 borrow(int);TheReturn(int);query()都都沒有返回值,現(xiàn)在改沒有返回值,現(xiàn)在改為正確借書、還書
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商店推廣活動方案
- 商業(yè)演出活動方案
- 唱國歌少先隊活動方案
- 咖啡公司策劃方案
- 噱頭促銷活動方案
- 啤酒餐飲促銷活動方案
- 商場健體比賽活動方案
- 商場全年活動策劃方案
- 商丘映像活動方案
- 商場寶藏活動方案
- 蜘蛛人外墻施工方案
- 空調(diào)檢測報告
- 變壓器實驗報告
- 三叉神經(jīng)痛(講)課件
- 神經(jīng)生理治療技術(shù)
- 浙江溫州高速公路甌北片區(qū)招聘高速公路巡查人員考試真題2022
- 江蘇蘇州工業(yè)園區(qū)蘇相合作區(qū)管理委員會機關(guān)工作人員招聘13人告5204筆試題庫含答案解析
- 2018年三年級數(shù)學(xué)下冊期末試卷A3(附答題卡、答案)
- 三年級下學(xué)期音樂復(fù)習(xí)題
- 工傷預(yù)防概念1
- GA 1808-2022軍工單位反恐怖防范要求
評論
0/150
提交評論