版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第3章Java面向?qū)ο缶幊填?/p>
2static和this關(guān)鍵字
4面向?qū)ο蠡A(chǔ)
31對象33訪問權(quán)限6包35本章內(nèi)容提要
面向?qū)ο蟮某绦蛟O(shè)計方法力求符合人腦的思維方式,通過符合人類思維的更抽象的客觀世界模型,降低、分解問題的難度和復(fù)雜性,并以此來解決問題。
與結(jié)構(gòu)化的程序設(shè)計方法有何區(qū)別?3.1面向?qū)ο蠡A(chǔ)
面向?qū)ο蟮幕驹?/p>
面向?qū)ο蠓椒▽W(xué)是面向?qū)ο蟪绦蛟O(shè)計技術(shù)的理論基礎(chǔ)。該理論的出發(fā)點和基本原則,是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與人類的認知過程同步,通過對人類認識客觀世界及事物發(fā)展過程的抽象,建立規(guī)范的分析設(shè)計方法,由此使程序具有良好的封裝性、可讀性、可維護性、可重用性等一系列優(yōu)點。
3.1面向?qū)ο蠡A(chǔ)面向?qū)ο蟮幕靖拍?.對象對象就是現(xiàn)實世界中實體在計算機邏輯中的映射和體現(xiàn)。實體都具有一定的屬性和行為。從面向?qū)ο蟮挠^點來看,所有的面向?qū)ο蟮某绦蚨际怯蓪ο髽?gòu)成的。3.1面向?qū)ο蠡A(chǔ)2.類
類就是具有相同或相似屬性和行為的對象的抽象。在面向?qū)ο蟮某绦蛟O(shè)計中,類與對象是抽象與具體的關(guān)系。3.1面向?qū)ο蠡A(chǔ)3.屬性對象的屬性主要用來描述對象的狀態(tài)。屬性用變量來定義。
4.行為對象的行為又稱為對象的操作,主要描述對象內(nèi)部的各種動態(tài)信息。行為用方法來刻畫。3.1面向?qū)ο蠡A(chǔ)
面向?qū)ο缶幊痰奶攸c
1.封裝
封裝,就是將事物的內(nèi)部實現(xiàn)細節(jié)隱藏起來,對外提供一致的公共的接口間接訪問隱藏數(shù)據(jù)。優(yōu)點:使得Java程序具有良好的可維護性使得代碼的重用性大為提高3.1面向?qū)ο蠡A(chǔ)2.繼承當(dāng)一個類擁有另一個類的數(shù)據(jù)和操作時,就稱這兩個類具有繼承關(guān)系。被繼承的類稱為父類或超類,繼承父類的類稱為子類。繼承有單重繼承和多重繼承之分。
優(yōu)點:使得面向?qū)ο蟮某绦蚪Y(jié)構(gòu)清晰,易于理解。3.1面向?qū)ο蠡A(chǔ)3.多態(tài)多態(tài)指多種表現(xiàn)形式,就是對象響應(yīng)外部激勵而使其形式發(fā)生改變的現(xiàn)象。多態(tài)有兩種情況:一種是通過類之間繼承導(dǎo)致的同名方法覆蓋體現(xiàn)的,另一種是通過同一個類中同名方法的重載體現(xiàn)的。優(yōu)點:提高了程序的抽象程度和簡潔性。3.1面向?qū)ο蠡A(chǔ)1.類的聲明
class類名{
類體的內(nèi)容
}
例如:
classStudent//定義類Student{}3.2類2.類體
class<類名>{[<成員變量定義>][<構(gòu)造方法定義>][<成員方法聲明>]}
通常,Java中把成員變量放在方法前面定義。3.2類成員變量
在類體中并且在方法之外定義的變量稱為成員變量。
[修飾符]變量類型變量名;例如:
IntegerstuAge;
intage=9;3.2類
成員方法
1.方法定義方法也由兩部分組成,即方法頭和方法體。返回值類型方法名(參數(shù)列表){[<方法體>]}3.2類
(1)方法修飾符方法修飾符控制方法在什么條件下使用以及如何使用,包括public(公有的)、private(私有的)及protected(保護的)。(2)返回值類型返回值類型可以是基本數(shù)據(jù)類型、應(yīng)用類型(引用類型)以及void(空類型)。3.2類
(3)方法名(4)形參列表形參列表是以“,”分開的、參數(shù)的數(shù)據(jù)類型和變量名的列表。(<變量類型1變量名1>,…,<變量類型n變量名n>)
3.2類2.方法體方法的功能實現(xiàn)部分,主要由局部變量和語句構(gòu)成。方法體也可以是空的,即沒有任何變量和語句。例如:
voidsetName(Stringname){}[例3-1]方法的定義3.2類構(gòu)造方法
(1)構(gòu)造方法的方法名與類名相同。(2)構(gòu)造方法不允許聲明返回值。(3)構(gòu)造方法的作用是完成對類對象的初始化。(4)構(gòu)造方法只能通過new運算符調(diào)用,不能通過對象或類調(diào)用。(5)一個類可以定義多個構(gòu)造方法。
3.2類[例3-2]構(gòu)造方法的定義構(gòu)造方法的作用:(1)為每個新建的對象賦初始值,從而保證每一個新建的對象處于合理正常的狀態(tài)。(2)引入更多的靈活度,使得初始化工作不僅僅包括成員變量的賦值,還可以有更復(fù)雜的操作。3.2類對象創(chuàng)建1.聲明對象
typeobjectname;
例如:
Studentxiaolin;3.3對象xiaolin2.建立對象并初始化實際上就是將一個類實例化,這是通過new關(guān)鍵字來完成的。例如:
newStudent("小林","1001","12");3.3對象小林100112
對象引用被賦值后,將指向一個真正的對象,即對象引用的內(nèi)存空間中存儲這個新建立對象的內(nèi)存空間的首地址,那么通過對象引用就可以訪問這個對象的所有可以訪問的成員了。3.3對象小林1001120x032xiaolin0x1032
通過同一個類模板可以聲明多個對象引用,也可以建立并初始化多個對象:
Studentxiaolin,xiaofei;xiaolin=newStudent("小林","1001","12");xiaofei=newStudent("小飛i","1002","16");Studentxiaoqiang=xiaolin;3.3對象[例3-3]創(chuàng)建對象判斷對象a的引用是否存在——a!=null或
a==null;判斷a、b兩個對象的引用是否相等——a==b;判斷a、b兩個對象的值是否相等——
a.equals(b)。3.3對象使用對象
有兩種方式使用對象:一是通過對對象變量的引用來使用對象;
objectRenference.variable;
二是通過調(diào)用對象的方法來使用對象。
objectRenference.methodName(paramlist);3.3對象[例3-4]使用對象3.3對象
姓名:王非學(xué)號:10011學(xué)院編號:11
姓名:黎明學(xué)號:10012學(xué)院編號:12對象引用與對象實體對象引用和對象實體是相互獨立的。[例3-5]通過對象引用遙控對象實體3.3對象學(xué)生:小明學(xué)生:小明學(xué)生:小強學(xué)生:小強null垃圾回收機制
Java中,對象使用的內(nèi)存空間的釋放是自動完成的,不需要在編碼時考慮對象的釋放問題。Java運行系統(tǒng)具有所謂的“垃圾回收機制”,垃圾回收器(garbagecllectors,GC)在后臺運行,定時查看所有對象,識別那些不再被引用的對象(垃圾),給予釋放,回收分配給這些對象的內(nèi)存。3.3對象
類變量
被所有的類的所有實例共享的變量稱為類變量(classvariable),類變量用修飾符static描述。
3.4static關(guān)鍵字
常量
常量(constant)就是一旦賦值就不能更改其值的變量。命名常量以關(guān)鍵字final修飾,其類型可以是基本類型和引用類型。
[例3-6]類變量的定義與訪問3.4static關(guān)鍵字
類方法
類方法(classmethod,又成為靜態(tài)方法)也是以static修飾的方法。
[例3-7]通過類方法訪問類變量一般在以下兩種情況下使用類方法:1.如果方法的所有參數(shù)可以直接給定,不需要訪問實例變量時。2.如果方法僅僅訪問類變量時。3.4static關(guān)鍵字
靜態(tài)代碼快
靜態(tài)代碼塊是在類中獨立于類成員的static語句塊,可以有多個,位置可以隨便放,它不在任何的方法體內(nèi),JVM加載類時會執(zhí)行這些靜態(tài)的代碼塊,如果static代碼塊有多個,JVM將按照它們在類中出現(xiàn)的先后順序依次執(zhí)行它們,每個代碼塊只會被執(zhí)行一次。
3.4static關(guān)鍵字
在構(gòu)造方法中使用this
this出現(xiàn)在類的構(gòu)造方法中時,代表使用該構(gòu)造方法時所創(chuàng)建的對象。
[例3-8]在構(gòu)造方法中使用this
3.5this關(guān)鍵字
在實例方法中使用this
當(dāng)this關(guān)鍵字出現(xiàn)在實例方法中時,代表正在使用該方法的當(dāng)前對象。實例方法可以操作類的成員變量,當(dāng)實例成員變量在實例方法中出現(xiàn)時,默認的格式是:
this.成員變量類的實例方法可以調(diào)用類的其他方法,對于實例方法調(diào)用的默認格式是:
this.方法名(參數(shù)列表)
3.5this關(guān)鍵字為了更好的管理這些類,Java引入了包的概念。包是一種類似于文件夾的一種組織形式,包把各種類組織起來,一方面對類的命名空間進行管理,另一方面作為隱含的訪問控制修飾符,是信息隱藏和封裝的有力工具。3.6包
包的概念為了方便管理,通常將需要在一起工作的類放在一個包中。只要包名是惟一的,那么包中的類就有了惟一的類全名。包的引入解決了類名沖突問題。包是一種多層次的組織結(jié)構(gòu),其成員有子包、類和接口。3.6包
創(chuàng)建包
創(chuàng)建包需要使用關(guān)鍵字package,其一般的格式和語法為:package包名;這條語句必須位于源文件的第一行,并且在同一個源文件中只能編寫一條package語句。例如:
packagenewpackage;packagesociety.family;[例3-9]創(chuàng)建包3.6包
導(dǎo)入包
1.使用類全名
[例3-10]使用類全名3.6包A010010A110111A210212A310313A4104142.導(dǎo)入需要的使用的類利用import關(guān)鍵字,將需要使用的類導(dǎo)入到當(dāng)前程序中,
[例3-11]導(dǎo)入需要的類3.6包
3.導(dǎo)入整個包包中的所有的類都被加載到當(dāng)前文件中。例如:
importschools.*;
所有的Java程序自動導(dǎo)入java.lang包,因此,importjava.lang.*語句可以省略不寫。另外編譯器在查找需要的類時有特定的查找順序,先是Java基本類庫中的類,后是用戶自定義的類。3.6包4.文件打包(1)將應(yīng)用程序壓縮成JAR文件可以使用jar.exe命令把一些文件壓縮成一個JAR文件來發(fā)布應(yīng)用程序??梢园袹ava應(yīng)用程序中涉及的類壓縮成一個JAR文件,然后Java解釋器執(zhí)行這個壓縮文件。3.6包4.文件打包(2)更新、查看JAR文件可以使用參數(shù)t和f查看一個JAR文件中的內(nèi)容,如:
jar-tfTom.jar
使用參數(shù)x和f解壓JAR文件:
jar-xfTom.jar
使用參數(shù)u和f更新一個JAR文件,例如將Third.class文件增加至Test.jar中的命令為:
jar–ufTest.jarThird.c
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度舊環(huán)保設(shè)備買賣與運營維護合同3篇
- 二零二五年度建筑廢棄物綜合利用合同3篇
- 計算思維課程設(shè)計
- 海南醫(yī)學(xué)院《生物醫(yī)學(xué)工程倫理及政策法規(guī)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度抵債資產(chǎn)轉(zhuǎn)讓與受讓合同3篇
- 海南師范大學(xué)《武術(shù)教學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 照明電氣設(shè)計課程設(shè)計
- 2025年度生態(tài)農(nóng)業(yè)園區(qū)綠化種植與生態(tài)保護合同3篇
- 二零二五年度安置房租賃中介服務(wù)合同
- 算法課程設(shè)計2048
- 2022年外交學(xué)院輔導(dǎo)員招聘筆試題庫及答案解析
- 磁致伸縮液位傳感器KYDM-路線設(shè)置使用
- (完整版)建筑業(yè)10項新技術(shù)(2017年最新版)
- 收割機轉(zhuǎn)讓協(xié)議
- 中學(xué)歷史教育中的德育狀況調(diào)查問卷
- 煤礦煤業(yè)掘進工作面班組安全確認工作記錄表 模板
- 第8期監(jiān)理月報(江蘇版)
- 建筑工程質(zhì)量管理體系文件
- 乙丙橡膠電力電纜絕緣一步法硅烷交聯(lián)工藝
- 中止施工安全監(jiān)督申請書(范例)
- 世界各國標(biāo)準鋼號對照表
評論
0/150
提交評論