![類與對(duì)象課件1_第1頁](http://file4.renrendoc.com/view11/M03/04/18/wKhkGWWqJviAOfBhAAB4-dioIMk341.jpg)
![類與對(duì)象課件1_第2頁](http://file4.renrendoc.com/view11/M03/04/18/wKhkGWWqJviAOfBhAAB4-dioIMk3412.jpg)
![類與對(duì)象課件1_第3頁](http://file4.renrendoc.com/view11/M03/04/18/wKhkGWWqJviAOfBhAAB4-dioIMk3413.jpg)
![類與對(duì)象課件1_第4頁](http://file4.renrendoc.com/view11/M03/04/18/wKhkGWWqJviAOfBhAAB4-dioIMk3414.jpg)
![類與對(duì)象課件1_第5頁](http://file4.renrendoc.com/view11/M03/04/18/wKhkGWWqJviAOfBhAAB4-dioIMk3415.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
類與對(duì)象
本節(jié)學(xué)習(xí)目標(biāo):
1.理解什么是對(duì)象和類
2.學(xué)會(huì)定義簡(jiǎn)單的類
3.理解什么是構(gòu)造函數(shù)
4.學(xué)會(huì)創(chuàng)建與使用對(duì)象
5.鍵盤輸入
1
你怎樣理解對(duì)象與類?
簡(jiǎn)單地說:
?對(duì)象是表示現(xiàn)實(shí)世界中某個(gè)具體的事物;
?親是對(duì)對(duì)象的抽象描述。
對(duì)對(duì)象進(jìn)行抽象為類
類(CLASS)
如:
“manclass”
對(duì)類進(jìn)行實(shí)例化
張三
類的概念
?類:是一種抽象的數(shù)據(jù)類型,它
是所有具有一定共性的對(duì)象的抽
象。本質(zhì)上可以認(rèn)為是對(duì)對(duì)象的
描述,是創(chuàng)建對(duì)象的“模板”。
?類的某一個(gè)對(duì)象則被稱為是類的
一個(gè)實(shí)例,是類的實(shí)例化結(jié)果。
3
類的基本結(jié)構(gòu):
■
二、Java語言的類
1系統(tǒng)提供的類
Java系統(tǒng)為用戶提供了大量已定義好的類,
稱為Java應(yīng)用程序接口(JavaAPI)。Java
API是一組由軟件供應(yīng)商編寫好的Java程序模塊,
每個(gè)模塊通常對(duì)應(yīng)一種特殊的基本功能和任務(wù)。
用戶在編程時(shí)可以直接引用這些模塊。
為了方便系統(tǒng)類的管理和使用,將系統(tǒng)類根
據(jù)實(shí)現(xiàn)功能的不同,可以分為不同的集合,每個(gè)
集合稱為一個(gè)包(Package),所有的包合稱為
類庫。
5
2用戶自定義類
[修飾符]class類名
(
類成員變量聲明;
構(gòu)造函數(shù)聲明;
類方法聲明;
6
三、對(duì)象的創(chuàng)建與構(gòu)造函數(shù)的定義
?一個(gè)對(duì)象的生命周期包括三個(gè)階段:創(chuàng)建、使用
和消除。Java語言中,系統(tǒng)在判定一個(gè)對(duì)象確實(shí)
再?zèng)]有被引用時(shí),系統(tǒng)就會(huì)自動(dòng)消除該(即回收
分配給該對(duì)象的內(nèi)存,這就是所謂的垃圾回收)
對(duì)象。
對(duì)象的創(chuàng)建
對(duì)象的創(chuàng)建包括聲明、實(shí)例化和初始化。
聲明一個(gè)某類的對(duì)象,格式為“類名對(duì)象名;”。聲明并不
為對(duì)象分配內(nèi)存空間;
實(shí)例化:指使用運(yùn)算符new為對(duì)象分配內(nèi)存空間,一個(gè)類的
不同對(duì)象分別占據(jù)不同的內(nèi)存空間;
格式為“對(duì)象名=new類名();”。
初始化:是指給實(shí)例對(duì)象的屬性字段賦初始值,一般通過調(diào)
用對(duì)象的構(gòu)造方法完成。
創(chuàng)建一個(gè)對(duì)象的語法是(聲明和實(shí)例化合并):
類名創(chuàng)建的對(duì)象名稱=new構(gòu)造函數(shù)();
說明:(1)Java語言的對(duì)象由類創(chuàng)建,所以應(yīng)先說
明創(chuàng)建對(duì)象所屬的類名稱,然后再說明創(chuàng)建對(duì)象的
名稱。
(2)”="表示賦值號(hào),new構(gòu)造函數(shù)(),使
系統(tǒng)為對(duì)象創(chuàng)建自己的內(nèi)存區(qū)域并自動(dòng)調(diào)用構(gòu)造函
數(shù)初始化成員變量。
成員變量和成員方法的引用
?同一類中的成員可以相互直接引用。
?處于不同類成員的相互引用需要首先創(chuàng)建對(duì)
象,然后才能引用具體的成員。引用格式如
下:
對(duì)象名.成員變量名
對(duì)象名.方法名(參數(shù)列表)
10
構(gòu)造函數(shù)的特征:
?構(gòu)造函數(shù)名與類名相同;
?構(gòu)造函數(shù)沒有返回類型,也不是void;
?構(gòu)造函數(shù)可以帶有形參,也可以沒有形參。
?構(gòu)造函數(shù)的主要作用是實(shí)現(xiàn)對(duì)象的初始化,
為對(duì)象的數(shù)據(jù)成員賦初值。
11
?構(gòu)造函數(shù)不能由編程人員顯式地直接調(diào)用,而在
創(chuàng)建對(duì)象時(shí),由系統(tǒng)自動(dòng)調(diào)用。如果類中沒有顯
示的定義構(gòu)造函數(shù),系統(tǒng)則調(diào)用缺省的構(gòu)造函數(shù)
來實(shí)現(xiàn)對(duì)象的初始化。
?如果類中有顯示的定義構(gòu)造函數(shù),系統(tǒng)將不再提
供缺省的構(gòu)造函數(shù),構(gòu)造方法可以有多個(gè).
?創(chuàng)建對(duì)象時(shí),構(gòu)造函數(shù)實(shí)參的個(gè)數(shù)和類型應(yīng)與類
中定義的構(gòu)造函數(shù)的形參的個(gè)數(shù)和類型相一致。
12
下載本集教程行邪格式請(qǐng)?jiān)谶B接上點(diǎn)右鍵選萼a另存為,尸
回
主講教師孫鑫《更多技術(shù),請(qǐng)登錄hlIL."www.su11ALl”外
缺省構(gòu)造方法
■當(dāng)我們用缺省的構(gòu)造方法初始化對(duì)象
時(shí),系統(tǒng)用默認(rèn)值初始化對(duì)象的成員
變量。
■各種數(shù)據(jù)類型的默認(rèn)值為:
數(shù)值型0
booleanfalse
char”,\0'
對(duì)象null
?舉例
以點(diǎn)類為例,分別定義不同的構(gòu)造函數(shù),帶參數(shù)的
和不帶參數(shù)的.
14
成員變量和成員方法的進(jìn)一步說明:
?類的任何成員方法在內(nèi)存中只存在一份拷貝.
?類的任何成員變量在內(nèi)存中各有各的拷貝.
舉例:
可為某個(gè)類聲明不同的對(duì)象,并分別輸出其成員
變量.
15
■關(guān)于實(shí)例方法和實(shí)例數(shù)據(jù)成員的進(jìn)一步說明
一個(gè)類所有的實(shí)例(對(duì)象)調(diào)用的成員方法在內(nèi)
存中只有一份拷貝,盡管在內(nèi)存中可能有多個(gè)對(duì)
象,而數(shù)據(jù)成員在類的每個(gè)對(duì)象所在內(nèi)存中都存
在著一份拷貝。th1s變量允許相同的實(shí)例方法為不
同的對(duì)象工作。每當(dāng)調(diào)用一個(gè)實(shí)例方法時(shí),this變
量將被設(shè)置成引用該實(shí)例方法的特定的類對(duì)象。
方法的代廚接著會(huì)與this所代表的對(duì)象的特定數(shù)據(jù)
建立關(guān)聯(lián)。
?舉例
以點(diǎn)類為例,分別定義不同的構(gòu)造函數(shù),形參和成
員變量同名和不同名的.
17
■靜態(tài)方法和靜態(tài)變量是屬于某一個(gè)類,而
不屬于類的對(duì)象。
-靜態(tài)方法和靜態(tài)變量的引用直接通過類名
引用。
■在靜態(tài)方法中不能調(diào)用非靜態(tài)的方法和引
用非靜態(tài)的成員變量。反之,則可以。
■可以用類的對(duì)象obj去調(diào)用靜態(tài)的方法
method05如:obj.methodQo
爭(zhēng)態(tài)變量(類變量)與靜態(tài)方法(類方法)
靜態(tài)變量和靜態(tài)方法統(tǒng)稱為類成員,非靜態(tài)成員(非類成
員)稱為實(shí)例成員。類成員屬于類,由各個(gè)對(duì)象共同擁有。
1、類變量
?類變量(靜態(tài)變量):用“static”修飾符聲明的成員變量。
?可以直接使用類名來調(diào)用。
19
2、靜態(tài)方法(類方法)
?類方法:用“static”修飾符聲明的成員方法。
?靜態(tài)方法是屬于整個(gè)類的,只能處理靜態(tài)成員,而不能處
理屬于某個(gè)對(duì)象的實(shí)例成員,因?yàn)殪o態(tài)成員是在類被加載時(shí)
就被創(chuàng)建了,也就是說在類對(duì)象被創(chuàng)建之前就被加載了.(類
是在編譯時(shí)加載的,而對(duì)象是在運(yùn)行時(shí)被創(chuàng)建的)
?可以直接使用類名調(diào)用靜態(tài)成員。
?靜態(tài)方法中可以使用局部變量。
注意:要有內(nèi)存模型的概念,不能停留在事物的表面.
20
?舉例
需要說明main。方法定義為static的原因.
輸出的累計(jì)人數(shù)
-使用關(guān)鍵字Rnal定義常量,例如:
finaldoublePI=3.1415926;
■作為一種約定,在定義常量時(shí),通常采用
大寫形式。-
■final常量可以在聲明的同時(shí)賦初值,也可以
在構(gòu)造函數(shù)中賦初值。
■為了節(jié)省內(nèi)存,我們通常將常量聲明為靜
態(tài)的(static)o
面向?qū)ο蟮某绦蛟O(shè)計(jì)
■問題:求一個(gè)長(zhǎng)方形的周長(zhǎng)和面積。
以面向?qū)ο蟮某绦蛟O(shè)計(jì)方式思考:
1、一個(gè)長(zhǎng)方形可以看成一個(gè)長(zhǎng)方形對(duì)象Q
2、一個(gè)長(zhǎng)方形對(duì)象有兩個(gè)狀態(tài)(長(zhǎng)和寬)和兩
個(gè)行為(求周長(zhǎng)和求面積)。
3、將所有長(zhǎng)方形的共性抽取出來,設(shè)計(jì)一個(gè)長(zhǎng)
方形類。
4、通過長(zhǎng)方形對(duì)象的行為,就可以求出某個(gè)具
體的K方形對(duì)象的周及和面積。
數(shù)據(jù)的鍵盤輸入
?Scanner類是Java5-0在java,util包中新增力口的——
個(gè)類,該類用于輸入數(shù)據(jù),其數(shù)據(jù)來源可以是文
件、字符串或鍵盤等。
?java.util包是系統(tǒng)包,使用之前需要使用import語
句進(jìn)行引入。
24
使用Scanner類從鍵盤上輸入數(shù)據(jù)的步驟:
(1)創(chuàng)建一個(gè)該類的對(duì)象,并指定輸入源。
如果要從鍵盤上輸入數(shù)據(jù),常用類似于如下的格式:
Scannersc=newScanner(System.in);
其中,System.in在Java語言中表示標(biāo)準(zhǔn)輸入設(shè)
備(另外,經(jīng)常使用的System.out表示標(biāo)準(zhǔn)輸出
設(shè)備,一般指顯示器),其實(shí)就是鍵盤,表示要
從鍵盤上輸入數(shù)據(jù)。
Scanner對(duì)象一般使用空格符(包括空格、Tab鍵和
25換行符)分隔輸入的內(nèi)容。
(2)使用Scanner類提供的方法從數(shù)據(jù)源取
得數(shù)據(jù),Scanner類中定義的nextXXX方法,
將輸入內(nèi)容中的數(shù)據(jù)取出并轉(zhuǎn)換為不同類型:
nextBoolean():將讀到的信息轉(zhuǎn)換為布爾值,并返回;
nextByte():將掃描到的信息轉(zhuǎn)換為byte類型,并返回;
nextDouble():將掃描到的信息轉(zhuǎn)換為double類型,并返回;
nextFloat():將掃描到的信息轉(zhuǎn)換為float類型,并返回;
nextlnt():將掃描到的信息轉(zhuǎn)換為int類型,并返回該值;
nextLong():將掃描到的信息轉(zhuǎn)換為long類型,并返回;
nextShort():將掃描到的信息轉(zhuǎn)換為short類型,并返回;
nextLine():讀取一行的內(nèi)容,并以字符串的形式返回該值。
26
例如,以下代碼使用戶能夠從鍵盤上(System.in)
讀取一個(gè)整數(shù),并將讀到的數(shù)據(jù)保存在變量沖:
Scannersc=newScanner(System.in);
inti=sc.nextlntQ;
27
小結(jié):
?對(duì)象、類
?類的定義、對(duì)象的創(chuàng)建
?屬性與方法(成員變量與成員方法)
?構(gòu)造函數(shù)
?靜態(tài)成員變量與靜態(tài)成員方法
?面向?qū)ο蟪绦蛟O(shè)計(jì)思想中的抽象、封裝特征的體會(huì)
28
上機(jī)作業(yè):
?題目:
定義一個(gè)描述人的類,分別創(chuàng)建一個(gè)姓名為“Tom"/"Rose”,性
別為“男"/“女",年齡20歲/30歲的對(duì)象(實(shí)例),輸出這
兩個(gè)對(duì)象的信息。
?要求:
1、定義人類Person。
2、有一些基本的屬性和方法
3、定義一個(gè)對(duì)Person進(jìn)行初始化的構(gòu)造方法。
4、對(duì)于成員變量的賦值可以采用顯示賦值的方式.
29
2定義一個(gè)汽車類,可以定義汽車的若干屬性,如
品牌、型號(hào)、顏色、重量、類別等信息并顯示
溫馨提示
- 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小學(xué)二年級(jí)學(xué)習(xí)計(jì)劃(32篇)
- 技術(shù)顧問勞務(wù)合同(3篇)
- 施工合同書(32篇)
- 2024-2025學(xué)年廣東省深圳市龍崗區(qū)德琳學(xué)校高二上學(xué)期第一次考試歷史試卷
- 2024-2025學(xué)年第15課貨幣的使用與世界貨幣體系的形成-勤徑學(xué)升高中歷史選擇性必修1同步練測(cè)(統(tǒng)編版2019)
- 2025年協(xié)同開發(fā)建房協(xié)議版式
- 2025年農(nóng)業(yè)合作養(yǎng)殖協(xié)議模版
- 2025年供應(yīng)鏈優(yōu)化供應(yīng)商協(xié)議
- 2025年雙方合作演藝協(xié)議
- 2025年交易合同附加條件標(biāo)準(zhǔn)文本
- (2024)云南省公務(wù)員考試《行測(cè)》真題及答案解析
- 公司安全事故隱患內(nèi)部舉報(bào)、報(bào)告獎(jiǎng)勵(lì)制度
- 統(tǒng)編版語文五年級(jí)下冊(cè) 《古詩三首》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)及反思
- 春節(jié)后復(fù)工安全檢查表
- 管道公稱直徑壁厚對(duì)照表
- 項(xiàng)城市2021年度農(nóng)業(yè)水價(jià)綜合改革
- 工程倫理-第章工程與倫理通用PPT課件
- 我眼中的中國發(fā)展(課堂PPT)
- 稻谷品質(zhì)測(cè)定指標(biāo)及方法
- 公司面試評(píng)價(jià)表
- 航空煤油 MSDS 安全技術(shù)說明書
評(píng)論
0/150
提交評(píng)論