【ch02】面向?qū)ο缶幊袒A(chǔ)_第1頁
【ch02】面向?qū)ο缶幊袒A(chǔ)_第2頁
【ch02】面向?qū)ο缶幊袒A(chǔ)_第3頁
【ch02】面向?qū)ο缶幊袒A(chǔ)_第4頁
【ch02】面向?qū)ο缶幊袒A(chǔ)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第二章Java開發(fā)綜合實戰(zhàn)面向?qū)ο缶幊袒A(chǔ)計算機(jī)專業(yè)·任務(wù)驅(qū)動應(yīng)用型教材01類與對象類與對象面向?qū)ο蠛喗槊嫦驅(qū)ο笫且环N符合人類思維習(xí)慣的編程思想,是一種數(shù)據(jù)抽象和信息隱藏的技術(shù)。在程序開發(fā)中引入的面向?qū)ο缶幊蹋∣bjectOrientedProgramming,OOP)的概念,其實質(zhì)就是以對象為中心,以信息為驅(qū)動,對現(xiàn)實世界中的對象進(jìn)行建模操作。由于它使軟件的開發(fā)更加簡單,又能降低軟件的復(fù)雜度,提高軟件的生產(chǎn)效率,因此得到了廣泛應(yīng)用。類與對象面向?qū)ο蠛喗?封裝封裝是面向?qū)ο蟮暮诵乃枷?,它有兩層含義:一層含義是指把描述對象屬性的變量及實現(xiàn)對象功能的方法看成一個密不可分的整體,將這兩者“封裝”在一個不可分割的獨立程序單位(即對象)中;另一層含義是指"信息隱藏",即為封裝在一個整體內(nèi)的變量及方法設(shè)置不同級別的訪問權(quán)限。一些對象的屬性及行為允許外界用戶知道或使用,但不允許更改。類與對象面向?qū)ο蠛喗?繼承繼承主要指類與類之間的關(guān)系,首先擁有反映事物一般特性的類,然后在其基礎(chǔ)上派生出能反映特殊事物的類。通過繼承,可以更高效地對原有類的功能進(jìn)行擴(kuò)展。繼承不僅增強(qiáng)了代碼的復(fù)用性,提高了開發(fā)效率,還為程序的修改補(bǔ)充提供了便利。類與對象面向?qū)ο蠛喗?多態(tài)多態(tài)是指把子類型的對象主觀地看作其父類型的對象,那么父類型就可以包含很多種類型,對同一種行為能夠表現(xiàn)出很多種不同的形式。多態(tài)性可提高程序的抽象程度和簡潔程度,有助于程序開發(fā)人員之間進(jìn)行協(xié)作。類與對象類的聲明與定義1.聲明類類是Java程序的基本要素,使用關(guān)鍵字class聲明,具體語法格式如下:類與對象類的聲明與定義2.定義成員變量定義成員變量的方法與定義變量類似,不同的是,成員變量前面可以加上修飾符,具體語法格式如下:類與對象類的聲明與定義3.定義成員方法定義成員方法的語法格式如下:類與對象構(gòu)造方法在類中除了可以定義成員方法,還可以定義一個特殊的方法構(gòu)造方法。構(gòu)造方法是一個與類同名的方法,在使用關(guān)鍵字new實例化類對象時默認(rèn)被調(diào)用,用于初始化成員變量。類與對象構(gòu)造方法構(gòu)造方法具有以下特點:●構(gòu)造方法名與所在類的類名相同;●構(gòu)造方法沒有返回值,不能指定返回值類型,也不能定義為void;●構(gòu)造方法用于初始化無static修飾的成員變量。類與對象對象的創(chuàng)建及使用在Java中,實例化類對象的語法格式如下:類名對象名一new構(gòu)造方法([參數(shù)列表]實例化匿名對象的語法格式如下:new構(gòu)造方法(【參數(shù)列表】);類與對象對象的創(chuàng)建及使用在創(chuàng)建有名對象后,就可以通過“對象名”調(diào)用類中的成員,語法格式如下:類與對象調(diào)用本類結(jié)構(gòu)變量都有作用域,只能在其作用域范圍內(nèi)被使用。在類體中,成員變量的作用域為整個類體。成員方法的形參和方法體內(nèi)聲明的變量為局部變量,其作用域為方法體。類與對象調(diào)用本類結(jié)構(gòu)123當(dāng)前對象:this。當(dāng)前類中的屬性:this.屬性。當(dāng)前類中的成員方法:this.方法名()。4當(dāng)前類中的其他構(gòu)造方法:this()。類與對象定義全局屬性和方法在Java中,使用關(guān)鍵字static可以聲明所有對象都可以使用的全局屬性和全局方法。使用關(guān)鍵字static聲明的變量或方法稱為靜態(tài)變量或靜態(tài)方法,統(tǒng)稱為靜態(tài)成員。相對地,無static修飾的類成員則稱為動態(tài)成員。類與對象定義全局屬性和方法調(diào)用靜態(tài)成員的語法格式如下:類名.靜態(tài)變量名類名.靜態(tài)方法名(參數(shù)列表)類與對象定義全局屬性和方法靜態(tài)方法不能直接調(diào)用動態(tài)成員,必須先實例化類對象,再由對象來引用動態(tài)成員。例如,類的main()方法就是一個靜態(tài)方法,如果在main()方法中直接訪問類的一個成員變量,就會報錯,提示不能在靜態(tài)方法中訪問非靜態(tài)的成員變量(field),如圖2-3所示。類與對象定義全局屬性和方法02使用數(shù)組使用數(shù)組創(chuàng)建數(shù)組1一維數(shù)組一維數(shù)組實質(zhì)上是一組具有相同數(shù)據(jù)類型的數(shù)據(jù)的有序集合,整個集合使用數(shù)組名稱作為標(biāo)識符,其中的每一個數(shù)據(jù)稱為一個數(shù)組元素,按照排列順序,使用一個唯一的索引(從0開始)進(jìn)行標(biāo)識。使用數(shù)組創(chuàng)建數(shù)組一維數(shù)組有以下兩種聲明方式:元素數(shù)據(jù)類型數(shù)組名稱【】;元素數(shù)據(jù)類型【】數(shù)組名稱;其中,【1表明聲明的變量是一個數(shù)組,門的數(shù)量代表了數(shù)組的維度,一個】表示一維數(shù)組。使用數(shù)組創(chuàng)建數(shù)組2二維數(shù)組二維數(shù)組可以看作以元素為數(shù)組的數(shù)組,即數(shù)組中的每個元素都是一個數(shù)組。二維數(shù)組的聲明方式與一維數(shù)組類似,也有兩種聲明方式,不同的是,二維數(shù)組包含兩個囗。使用數(shù)組創(chuàng)建數(shù)組具體語法格式如下:元素數(shù)據(jù)類型數(shù)組名稱【】【】;元素數(shù)據(jù)類型【】【】數(shù)組名稱;第2種格式是Java慣用的格式。使用數(shù)組遍歷數(shù)組如果數(shù)組中存儲的數(shù)據(jù)很多,利用數(shù)組元素中有規(guī)律的索引,并配合使用循環(huán)結(jié)構(gòu),可以很方便地獲取數(shù)組中的每個元素,即遍歷數(shù)組。一維數(shù)組通常使用for循環(huán)實現(xiàn)通歷,二維數(shù)組則可以利用雙層低套的tor循環(huán)通歷所有的行標(biāo)和列標(biāo),從而訪問數(shù)組中的每個元素。使用數(shù)組遍歷數(shù)組為方便遍歷數(shù)組和集合,JDK1.5之后的版本提供了foreach循環(huán)。該循環(huán)是for循環(huán)的特殊簡化版本,語法格式如下:使用數(shù)組遍歷數(shù)組其中,元素變量表示數(shù)組或集合中的每個元素。每執(zhí)行一次循環(huán)語句,循環(huán)變量就讀取數(shù)組或集合中的一個元素。foreach循環(huán)和普通循環(huán)不同的是,它無須循環(huán)條件,無須循環(huán)迭代語句,自動迭代數(shù)組中的每個元素,當(dāng)每個元素都被迭代一次之后,foreach循環(huán)自動結(jié)束。使用數(shù)組使用Arrays工具類1fill()該方法可將指定的int類型的值分配給int類型數(shù)組的每個元素。語法格式如下:Arrays.fill(數(shù)組,值)其中,第1個參數(shù)是要進(jìn)行元素分配的數(shù)組,第2個參數(shù)是要分配給數(shù)組中的所有元素的值。使用數(shù)組使用Arrays工具類2sort()該方法可將數(shù)值類型數(shù)組和字符數(shù)組中的元素按照元素值由小到大的順序進(jìn)行排列。語法格式如下:Arrays.sort(數(shù)組)使用數(shù)組使用Arrays工具類3toString()該方法可對數(shù)組進(jìn)行遍歷,將數(shù)組中的所有元素以一個字符串的形式返回。語法格式如下:Arrays.toString(數(shù)組)使用數(shù)組使用Arrays工具類4equals()該方法可用于比較兩個相同類型的數(shù)組的值是否相同,返回布爾類型的邏輯值。語法格式如下:Arrays.equals(數(shù)組1,數(shù)組2)使用數(shù)組使用Arrays工具類5binarySearch()該方法可按照二分查找算法查找數(shù)組中是否包含指定的值,如果包含,則返回該值在數(shù)組中的索引;如果不包含,則返回負(fù)值。語法格式如下:Arrays.binarySearch(數(shù)組,值)使用數(shù)組使用Arrays工具類6copyOf()該方法可將指定的數(shù)組從索引為0的元素開始復(fù)制到給定長度的新數(shù)組中。如果給定的長度超過源數(shù)組長度,則用null進(jìn)行填充。語法格式如下:Arrays.copyOf(源數(shù)組,新長度)使用數(shù)組使用Arrays工具類7copyOfRange()該方法可將源數(shù)組中指定下標(biāo)范圍內(nèi)的元素復(fù)制到一個新數(shù)組中。語法格式如下:Arrays.copyOfRange(源數(shù)組,開始索引,結(jié)束索引)03處理字符串處理字符串創(chuàng)建String類的字符串String是Java中的文本數(shù)據(jù)類型,其本質(zhì)是字符數(shù)組,可以包含若干個字符。字符串中的字符必須被包含在雙引號中。字符串是常量,在創(chuàng)建之后不能更改字符串的值,但是可以通過使用其他變量重新賦值的方式進(jìn)行更改。處理字符串創(chuàng)建String類的字符串創(chuàng)建String類的字符串有兩種方式:一種是使用雙引號賦值創(chuàng)建,另一種是使用關(guān)鍵字new創(chuàng)建。例如:處理字符串String類的常用操作1.連接字符串連接字符串是程序設(shè)計中常用的一種字符串操作,方法是使用“+”運算符連接字符串與其他類型的數(shù)據(jù),生成一個String對象。如果某個字符串較長,在一行中輸入不便于閱讀,則可以使用"+"運算符將字符串分割為多行。處理字符串String類的常用操作2.獲取字符串內(nèi)容(1)獲取字符串的長度。(2)獲取字符串中指定位置的字符。(3)獲取指定字符或子串在字符串中首次出現(xiàn)的位置。(4)提取子串。處理字符串String類的常用操作3.判斷字符串(1)contains()方法。(2)startsWith()方法和endsWith()方法。(3)equals()方法。(4)equalsIgnoreCase()方法。處理字符串String類的常用操作4.轉(zhuǎn)換字符串(1)轉(zhuǎn)換字母大小寫。(2)將其他類型轉(zhuǎn)換為字符串。(3)將字符串轉(zhuǎn)換為字符數(shù)組或字節(jié)數(shù)組。(4)將字符串轉(zhuǎn)換為字符串?dāng)?shù)組。處理字符串String類的常用操作5.修改字符串內(nèi)容(1)替換字符序列。(2)刪除字符串兩端的空格。使用trim()方法可以刪除字符串首尾處的空格,語法格式如下:字符串名稱.trim();處理字符串正則表達(dá)式正則表達(dá)式是一種用于模式匹配和替換的規(guī)則,是由普通字符(如字母A~Z)及特殊字符(又稱為元字符)組成的字符串匹配的模式,常被用于判斷語句中,用來檢查一個字符串是否含有某種子串,或是否滿足某種格式。處理字符串正則表達(dá)式正則表達(dá)式中常用的元字符如表2-2所示。處理字符串正則表達(dá)式處理字符串創(chuàng)建StringBuffer對象前面介紹的String對象的字符序列是不可被修改的

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論