版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》類和對(duì)象本章目標(biāo)·
面向?qū)ο蟮幕靖拍睢?/p>
類的定義·
對(duì)象的創(chuàng)建·
修飾符的使用·
基礎(chǔ)類的使用《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.1面向?qū)ο蟮幕靖拍?.1.1
程序設(shè)計(jì)語言的發(fā)展·
面向機(jī)器的低級(jí)程序設(shè)計(jì)語言第一代程序設(shè)計(jì)語言也稱機(jī)器語言。它需要用二進(jìn)制機(jī)器代碼編成程序來控制計(jì)算機(jī)執(zhí)行規(guī)定的操作。在20世紀(jì)50年代出現(xiàn)了匯編語言,在編寫程序的時(shí)候能夠通過一些
簡(jiǎn)單的命令來代替二進(jìn)制指令?!?/p>
面向過程的高級(jí)程序設(shè)計(jì)語言面向過程就是結(jié)構(gòu)化程序設(shè)計(jì)。任何程序都可以用順序、選擇、循環(huán)這三種結(jié)構(gòu)的語句來構(gòu)造。比較著名的語言如C語言、Pascal
、FORTRAN等?!?/p>
面向?qū)ο蟪绦蛟O(shè)計(jì)語言面向?qū)ο笫前褑栴}事物分解成各個(gè)對(duì)象,把多個(gè)功能合理的放到不同對(duì)象里,強(qiáng)調(diào)
的是具備某些功能的對(duì)象。通過調(diào)用對(duì)象的方法來實(shí)現(xiàn)程序功能。比較著名的語言如C++
、Java
、Python
語言等?!禞ava
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.1面向?qū)ο蟮幕靖拍?.1.2
面向?qū)ο蟪绦蛟O(shè)計(jì)方法·
封裝封裝,就是把屬性私有化,提供公共方法訪問私有對(duì)象。封裝的作用是可以隱藏實(shí)現(xiàn)細(xì)節(jié),使得代碼模塊化,提高安全性?!?/p>
繼承繼承是類之間的一種關(guān)系,當(dāng)多個(gè)類具有相同的特征(屬性)和行為(方法)時(shí),
可以將相同的部分抽取出來放到一個(gè)類中作為父類,其它類繼承這個(gè)父類。繼承的作用
是可以擴(kuò)展已存在的代碼模塊(類),實(shí)現(xiàn)代碼重用,提高效率?!?/p>
面向?qū)ο蟪绦蛟O(shè)計(jì)語言多態(tài)是指一個(gè)類實(shí)例的相同方法在不同情形有不同表現(xiàn)形式。多態(tài)機(jī)制使具有不同內(nèi)部結(jié)構(gòu)的對(duì)象可以共享相同的外部接口。《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1
類的定義·
類類是對(duì)一組有相同屬性和相同功能的對(duì)象的概括,一個(gè)類所包含的數(shù)據(jù)和方法能夠描述一組對(duì)象的共同屬性和行為?!?/p>
定義一個(gè)類的步驟:1.定義類使用關(guān)鍵字class,然后定義類名。2.編寫類的屬性,即聲明變量。3.編寫類的方法?!禞ava
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1
類的定義·
類的一般格式class類名{//定義屬性部分(成員變量)屬性1的類型屬性1;屬性2的類型屬性2;·屬性m的類型屬性m;//定義方法部分方法1();方法2();··方法n();《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1
類的定義·【例4-1】定義一個(gè)手機(jī)的類,名為Telphone,同時(shí)定義它的三個(gè)屬性變量:屏幕尺寸、CPU、內(nèi)存,同時(shí)它具有打電話、發(fā)短信、顯示
手機(jī)信息等功能。public
class
Telphone
{//成員變量(屬性)float
screen;
//屏幕尺寸float
cpu;
//cpufloatmem;
//內(nèi)存//方法(功能)public
void
call(){Sysntln("Telphone有打電話的功能");《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.1
類的定義publicvoidsentMessage(){Sysntln("Telphone有發(fā)短信的功能");publicvoidshow(){Sysntln("screen:"+screen+"cpu:"+cpu+"《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.2
構(gòu)造方法·
構(gòu)造方法構(gòu)造方法是一種特殊的成員方法,其作用是負(fù)責(zé)對(duì)象的初始化工作,為實(shí)例變量賦予合適的初始值?!?/p>
定義構(gòu)造方法的格式:類名(形參列表){//方法體;《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.2
構(gòu)造方法·
構(gòu)造方法的語法規(guī)則(1)構(gòu)造方法的方法名與類名完全相同。(2)構(gòu)造方法不返回任何值,也沒有返回類型。(3)每一個(gè)類可以有零個(gè)或多個(gè)構(gòu)造方法。(4)構(gòu)造方法在創(chuàng)建對(duì)象時(shí)由Java
編譯器自動(dòng)調(diào)用執(zhí)行,一般不能顯式地
直接調(diào)用?!禞ava
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.2類的定義4.2.2
構(gòu)造方法·
構(gòu)造方法的聲明構(gòu)造方法的任務(wù)就是初始化一個(gè)對(duì)象的內(nèi)部狀態(tài),以便使創(chuàng)建的實(shí)例變量能夠完全初始化。如果在類中沒有構(gòu)造方法,在創(chuàng)建對(duì)象時(shí),系統(tǒng)使用默認(rèn)的構(gòu)造方法。定義構(gòu)造方法的一般格式如下:[public]
類名([形式參數(shù)列表])[方法體]《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》見課本P76例題4.3對(duì)象的創(chuàng)建4.3.1
對(duì)象的聲明和創(chuàng)建·
創(chuàng)建對(duì)象步驟:1.
聲明:聲明一個(gè)對(duì)象,包括對(duì)象名稱和對(duì)象類型。2.實(shí)例化:使用關(guān)鍵字new來創(chuàng)建一個(gè)對(duì)象,new運(yùn)算符用于為對(duì)象分配存儲(chǔ)空間。3.初始化:使用new創(chuàng)建對(duì)象時(shí),會(huì)調(diào)用構(gòu)造方法初始化對(duì)象?!?/p>
創(chuàng)建對(duì)象的
一
般格式:類名對(duì)象名;對(duì)象名=
new
類名();例
如
:Telphone
phonephone
=new
Telphone();或者,也可以將上述兩行代碼合寫成:類名對(duì)象名=
new
類名();例
如
:Telphone
phone=new
Telphone();《Java
面
向
對(duì)
象
程
序
設(shè)
計(jì)
案
例
教
程
》4.3對(duì)象的創(chuàng)建4.3.2
對(duì)象的使用·
引用對(duì)象成員的
一般格式:對(duì)象名.成員變量;對(duì)象名.成員方法();例
如
:引用對(duì)象的成員變量:Telphone
phonel
=new
Telphone();phonel.screen=5;//給screen屬性賦值5phonel.cpu
=1.4;
//給cpu屬性賦值1.4
引用對(duì)象的成員方法:phonel.sendMessage();//
調(diào)用sendMessage()方法《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.1
類的訪問控制修飾符·
針對(duì)類的訪問控制修飾符,Java
僅能使用public
(公有)和默認(rèn)這兩種訪問控制符。(1)使用public
修飾的公有類是類的訪問控制級(jí)別中使用數(shù)量較多的一種,它對(duì)所有類都是可見的,既可以被同一個(gè)包中的類訪問,也可以被其他包中的類
訪
問
。例如
:publicclassTelphone
{//成員變量;//方法();《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.1
類的訪問控制修飾符(2)不使用public
修飾的類僅允許在包內(nèi)具有可見性,即只能被同一個(gè)包中的類訪問,不能被其他包中的類訪問。例如
:class
Telphone
{//成員變量;//方法();}《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.2
類成員的訪問控制修飾符·
針對(duì)類成員Java提供了4種訪問控制符,主要用于控制其他類是否可
以訪問某一類中的屬性或方法,從而實(shí)現(xiàn)數(shù)據(jù)封裝。訪問修飾符本類同包子類其他public√√√√protected√√√default(默認(rèn))√√private√《Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.3
static修飾符的使用Java中可以使用static
關(guān)鍵字修飾類的成員變量和方法,這些被static
關(guān)鍵字修飾的成員也稱為靜態(tài)成員。(1)static變量使用static修飾的成員變量稱為類變量或靜態(tài)變量,沒有使用static
修飾的成員變量稱為實(shí)例變量(2)static
方法使用static修飾的成員方法稱為類方法或靜態(tài)方法,沒有使用static
修飾的成員方法稱為實(shí)例方法《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.3
static修飾符的使用·
聲明靜態(tài)變量格式如下:static
數(shù)據(jù)類型成員變量;例
如
:static
int
count;static
final
double
PI=3.14;//聲明類常量注
意
:對(duì)于實(shí)例變量,創(chuàng)建對(duì)象時(shí),每個(gè)對(duì)象都會(huì)分配到內(nèi)存單獨(dú)保存自己的實(shí)例變
量
。對(duì)于類變量,所有的對(duì)象共享同一個(gè)內(nèi)存區(qū)域,即所有對(duì)象的類變量的值是
一致的訪問類變量時(shí),既可以通過類名進(jìn)行訪問,也可以通過對(duì)象進(jìn)行訪問。但是,訪問實(shí)例變量時(shí),只能通過對(duì)象進(jìn)行訪問《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》4.4修飾符的使用4.4.3
static修飾符的使用·
聲明靜態(tài)方法格式如下:static返回值類型方法名(參數(shù)列表)//方法體注
意
:調(diào)用類方法時(shí),可以由類名直接調(diào)用,也可以創(chuàng)建對(duì)象后由對(duì)象的引用變量調(diào)用,而實(shí)例方法只能通過引用變量調(diào)用,不能由類名直接調(diào)用。類方法中只能訪問類變量、調(diào)用類方法,而實(shí)例方法中既可以訪問實(shí)例變量和實(shí)例方法,也可以訪問類變量和類方法。類方法中不能使用this關(guān)鍵字,而實(shí)例方法中可以使用this引用當(dāng)前對(duì)象《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》方法名功能描述abs(double
a)絕對(duì)值ceil(double
a)得到不小于某數(shù)的最小整數(shù)floor(double
a)得到不大于某數(shù)的最大整數(shù)round(double
a)四舍五入返回int型或者long型max(double
a,double
b)求兩數(shù)中較大值min(double
a,double
b)求兩數(shù)中較小值sin(double
a)正弦tan(double
a)正切cos(double
a)余弦sqrt(double
a)平方根pow(double
a,double
b)第一個(gè)參數(shù)的第二個(gè)參數(shù)次冪的值random()返回在0.0和1.0之間的數(shù),大于0.0,小于1.04.5基礎(chǔ)類的使用4.5.1
Math類的使用Math類包含常用的數(shù)學(xué)運(yùn)算的標(biāo)準(zhǔn)方法,如初等指數(shù)、對(duì)數(shù)、平方根和三角函數(shù)等。Math類提供的方法都是靜態(tài)的,可以直接調(diào)用,無需實(shí)例化?!ath類常用的方法:《Java
面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程》方法名功能描述Date()默認(rèn)構(gòu)造方法,創(chuàng)建一個(gè)Date對(duì)象并以當(dāng)前系統(tǒng)時(shí)間來初始化該對(duì)象Date(long
date)構(gòu)造方法,以指定的long值初始化一個(gè)Date對(duì)象,該long值是自1970年1月1日00:00:00GMT時(shí)間以來的毫秒數(shù)boolean
after(Date
when)判斷日期是否在指定日期之后,如果是則返回ture,否則返回falseboolean
before(Date
when)判斷日期是否在指定日期之前,如果是則返回ture,否則返回falseinter
compareTo(Date
date)與指定日期進(jìn)行比較,如果相等則返回0,如果在指定日期之前則返回小于0的數(shù);加入過在指定日期之后則返回大于0的數(shù)String
toString()將日期轉(zhuǎn)換成字符,字符串格式是:dowmonddhh:mm:SSzzz
yyyy其中dow是一周中的一天(Sun,Mon,Tue,Wed,Thu,Fri,Sat);mon是月份;dd是天;hh是小時(shí);mm是分鐘;s
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 充填回收工安全規(guī)程競(jìng)賽考核試卷含答案
- 硅油及乳液生產(chǎn)工安全應(yīng)急強(qiáng)化考核試卷含答案
- 油脂及脂肪酸加氫操作工安全理論評(píng)優(yōu)考核試卷含答案
- 玻璃制品機(jī)械成型工班組考核強(qiáng)化考核試卷含答案
- 中藥灸熨劑工崗前安全知識(shí)競(jìng)賽考核試卷含答案
- 薄膜電阻器制造工崗前技術(shù)規(guī)范考核試卷含答案
- 九年級(jí)開學(xué)第一課主題班會(huì)課件
- 安全文明施工保證措施
- 交通應(yīng)急預(yù)案制定與演練制度
- 吊車保險(xiǎn)培訓(xùn)課件大全
- 化工工藝安全管理與操作手冊(cè)
- 規(guī)范外匯交易管理制度
- 2026年美麗中國(guó)全國(guó)國(guó)家版圖知識(shí)競(jìng)賽考試題庫(kù)(含答案)
- 高考英語讀后續(xù)寫技巧總結(jié)
- 2025年下半年河南鄭州市住房保障和房地產(chǎn)管理局招聘22名派遣制工作人員重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 維修事故協(xié)議書
- 2025ESC+EAS血脂管理指南要點(diǎn)解讀課件
- 2025至2030外周靜脈血栓切除裝置行業(yè)調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 矛盾糾紛排查化解課件
- 2026年人力資源共享服務(wù)中心建設(shè)方案
- JJG(交通) 141-2017 瀝青路面無核密度儀
評(píng)論
0/150
提交評(píng)論