第5面向?qū)ο笊螧-ppt課件_第1頁
第5面向?qū)ο笊螧-ppt課件_第2頁
第5面向?qū)ο笊螧-ppt課件_第3頁
第5面向?qū)ο笊螧-ppt課件_第4頁
第5面向?qū)ο笊螧-ppt課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第5章 面向?qū)ο笊?.3 成員變量和部分變量 成員變量指在類范圍里定義的變量;部分變量指在方法內(nèi)定義的變量。成員變量在類體中定義,在整個(gè)類中都有效;部分變量在方法中定義,只在本方法中有效。 變量變量成員變量在類體中定義,在整個(gè)類中都有效;部分變量在方法中定義,只在本方法中有效。 變量變量變量變量變量變量成員變量成員變量實(shí)例屬性不以實(shí)例屬性不以staticstatic修飾修飾) )類屬性以類屬性以staticstatic修飾修飾) )部分變量部分變量方法的形參方法的形參方法部分變量方法部分變量代碼塊部分變量代碼塊部分變量詳細(xì)細(xì)分 成員變量分為類屬性和實(shí)例屬性兩種,定義一個(gè)屬性時(shí),不運(yùn)用stati

2、c修飾的是實(shí)例屬性,運(yùn)用static修飾的是類屬性。x x、y y是成員變量,類中是成員變量,類中一切方法都可以運(yùn)用它一切方法都可以運(yùn)用它們們a a是是sumsum方法的部分變量,只方法的部分變量,只需需sumsum方法內(nèi)的語句可以運(yùn)用。方法內(nèi)的語句可以運(yùn)用。delnumdelnum方法內(nèi)的程序不能運(yùn)方法內(nèi)的程序不能運(yùn)用用a a變量。變量。 假設(shè)部分變量名與成員變量名一樣,那么成員變量被屏蔽。 class Dataint x=12,y=5;public void sum() int x=3; /部分變量x屏蔽了成員變量int s;s=x+y; 5.4 隱藏和封裝 5.4.1 什么是封裝封裝指的

3、是將對(duì)象的形狀信息隱藏在對(duì)象內(nèi)部,不允許外部程序直接訪問對(duì)象內(nèi)部信息,而是經(jīng)過該類所提供的方法來實(shí)現(xiàn)對(duì)內(nèi)部信息的操作和訪問。封裝的作用: 隱藏類的實(shí)現(xiàn)細(xì)節(jié) 讓運(yùn)用者只能經(jīng)過事先定制好的方法來訪問數(shù)據(jù),可以方便地參與控制邏輯,限制對(duì)屬性的不合理操作; 可以進(jìn)展數(shù)據(jù)檢查 便于修正,提高代碼的可維護(hù)性。 Java提供了三個(gè)訪問控制符:private、protected和public,分別代表三個(gè)訪問控制級(jí)別。privatedefaultprotectedpublic訪問控制級(jí)別由大到小Private訪問控制級(jí)別 假設(shè)類里的一個(gè)成員運(yùn)用private訪問控制符來修飾,那么這個(gè)成員只能在該類的內(nèi)部被訪問

4、。 運(yùn)用private修飾屬性就可以把屬性隱藏在類內(nèi)部這兩句代碼不能編譯經(jīng)過default訪問控制權(quán)限(包訪問權(quán)限 假設(shè)類里的一個(gè)成員不運(yùn)用任何訪問控制符修飾,那么運(yùn)用default默許訪問控制,default訪問控制的成員可以被一樣包下其他類訪問。protected訪問控制權(quán)限(子類訪問權(quán)限 假設(shè)一個(gè)成員運(yùn)用protected訪問控制符修飾,那么這個(gè)成員即可以被同一包中其他類訪問,也可以被不同包中的子類訪問。類的訪問控制符頂級(jí)類也可以運(yùn)用訪問控制符。類的訪問闡明符1public2default不加訪問闡明符時(shí)方法的訪問控制符 方法的訪問闡明符1public2protected3default

5、(不加訪問闡明符時(shí))4private訪問控制級(jí)別表5.4.3 包package 包的概念為了便于管理大型軟件系統(tǒng)中數(shù)目眾多的類,處理類命名沖突的問題,Java引入了包packagejavalangSystemioString包package運(yùn)用要點(diǎn) package語句必需是文件中的第一條語句。也就是說,在package語句之前,除了空白和注釋之外不能有任何語句。 假設(shè)不加package語句,那么指定為缺省包或無名包。 包對(duì)應(yīng)著文件系統(tǒng)的目錄層次構(gòu)造。 在package語句中,用“.來指明包目錄的層次。編譯并生成包 在當(dāng)前目錄下生成包javac d . Test.java 在指定目錄下生成包ja

6、vac d E:JavaLesson Test.javaimport語句 引入包中的類。例如:import java.io.File; 引入整個(gè)包。例如:import java.io.*; 在同一包中的類可以相互援用,無需import語句。public例如 public表示公共、公開的含義,它可以用來修飾類、類中的成員和方法。被public修飾的類、成員和方法,可以被任何其他的類所訪問和援用,包括創(chuàng)建該類的對(duì)象、訪問該類的成員和方法。test_0類和attr_0類處于不一樣的package中。所以需求運(yùn)用import語句。test_0類和attr_0處于一樣的package中default例如

7、 類、類中成員和方法的修飾符中假設(shè)沒有訪問控制符修飾,那么就稱為默許default訪問控制,也稱包可訪問,即該類、成員以及方法只能被與它同處一個(gè)包內(nèi)的其他類所訪問和援用,而不能被包外其他的類訪問,即使其子類也不可以。 由于attr_1的屬性a變量和prt()方法都是default。所以這兩句代碼會(huì)出錯(cuò)test類和attr_1處于一樣的package中test類和attr_1處于不一樣的package中。所以需求運(yùn)用import語句。protected例如 protected表示維護(hù)的含義,它只能修飾類中的成員和方法。被protected修飾的成員和方法可以被三種類所訪問和援用:類本身、同一個(gè)包內(nèi)的其他類以及該類的一切子類。protected主要是限定包外的類不可隨意訪問其成員和方法,除非是它的子類,因此多于承繼。private例如 private表示私有的含義,它也是只能用來修飾類中的成員和方法。被private修飾的成員和方法只能被該類本身所訪問和援用,不能被任何其他類包括它本人的子類訪問和援用。通常用private來修飾類中的成員從而實(shí)現(xiàn)對(duì)該成員的隱藏,到達(dá)封裝的目的。5.4.4 Java的常用包 Java.lang 包含Java中心類,如String、Math、System和Thread類。 Java.util 包含Ja

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論