使用訪問(wèn)控制符_第1頁(yè)
使用訪問(wèn)控制符_第2頁(yè)
使用訪問(wèn)控制符_第3頁(yè)
使用訪問(wèn)控制符_第4頁(yè)
使用訪問(wèn)控制符_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

使用訪問(wèn)控制符2學(xué)習(xí)目標(biāo)知識(shí)目標(biāo)Java中的訪問(wèn)控制符01能力目標(biāo)能夠熟悉訪問(wèn)控制符的范圍02訪問(wèn)控制符3Java提供了4個(gè)訪問(wèn)控制級(jí)別privatedefaultprotectedpublic訪問(wèn)控制級(jí)別由小到大default沒(méi)有對(duì)應(yīng)的訪問(wèn)控制符訪問(wèn)控制符4private(當(dāng)前類(lèi)訪問(wèn)權(quán)限):如果類(lèi)里的一個(gè)成員(包括成員變量、方法和構(gòu)造器等)使用private訪問(wèn)控制符來(lái)修飾,則這個(gè)成員只能在當(dāng)前類(lèi)的內(nèi)部被訪問(wèn)。default(包訪問(wèn)權(quán)限):如果類(lèi)里的一個(gè)成員(包括成員變量、方法和構(gòu)造器等)或者一個(gè)外部類(lèi)不使用任何訪問(wèn)控制符修飾,就稱(chēng)為包訪問(wèn)權(quán)限的。default訪問(wèn)控制的成員或外部類(lèi)可以被相同包下的其他類(lèi)訪問(wèn)。訪問(wèn)控制符5protected(子類(lèi)訪問(wèn)權(quán)限):如果一個(gè)成員(包括成員變量、方法和構(gòu)造器等)使用protected訪問(wèn)控制符修飾,那么這個(gè)成員可以被同一個(gè)包中的其他類(lèi)訪問(wèn),也可以被不同包中的子類(lèi)訪問(wèn)。public(公共訪問(wèn)權(quán)限):如果一個(gè)成員(包括成員變量、方法和構(gòu)造器等)或者一個(gè)外部類(lèi)使用public訪問(wèn)修飾符修飾,那么這個(gè)成員或外部類(lèi)可以被所有類(lèi)訪問(wèn),不管訪問(wèn)類(lèi)和被訪問(wèn)類(lèi)是否處于同一個(gè)包中,是否具有父子繼承關(guān)系。訪問(wèn)控制符6privatedefaultprotectedpublic同一個(gè)類(lèi)中√√√√同一個(gè)包中√√√子類(lèi)中√√全局范圍內(nèi)√訪問(wèn)控制級(jí)別表使用訪問(wèn)控制符7例如:定義個(gè)Person類(lèi),含有兩個(gè)成員變量name(姓名)和age(年齡)。publicclassPerson{privateStringname;//使用private修飾成員變量,將這些成員變量隱藏起來(lái)privateintage;//提供方法來(lái)操作age成員變量publicvoidsetAge(intage){//執(zhí)行合理性校驗(yàn),要求用戶(hù)年齡必須在0~100之間if(age>100||age<0){System.out.println("您設(shè)置的年齡不合法");return;}else{this.age=age;}}publicintgetAge(){returnthis.age;}}此時(shí)name和age只能在Person類(lèi)內(nèi)才可以訪問(wèn);在Person類(lèi)外只能通過(guò)setter和getter方法進(jìn)行訪問(wèn)。使用訪問(wèn)控制符8對(duì)于私有化的成員變量,一般提供setter和getter方法。若成員變量為:private數(shù)據(jù)類(lèi)型abc;setter方法為publicvoidsetAbc(數(shù)據(jù)類(lèi)型abc){ //方法體}getter方法為public數(shù)據(jù)類(lèi)型getAbc(){ //方法體}使用訪問(wèn)控制符9嘗試書(shū)寫(xiě)Person類(lèi)中成員變量age的setter和getter方法。要求年齡必須在0~100之間。使用訪問(wèn)控制符10例如:創(chuàng)建Person對(duì)象,嘗試書(shū)寫(xiě)Person類(lèi)中成員變量age的訪問(wèn)方法。public

classPerson{//使用private修飾成員變量,將這些成員變量隱藏起來(lái)privateStringname;private

int

age;//提供方法來(lái)操作age成員變量public

voidsetAge(int

age){//執(zhí)行合理性校驗(yàn),要求用戶(hù)年齡必須在0~100之間if(age>100||age<0){System.out.println("您設(shè)置的年齡不合法");return;}else{this.age=age;}}public

intgetAge(){return

this.age;}

//其他成員變量的getter、setter方法}使用訪問(wèn)控制符11創(chuàng)建PersonTest對(duì)象,嘗試操作和訪問(wèn)對(duì)象的age成員變量。注意:要求年齡必須在0~100之間。使用訪問(wèn)控制符12例如:創(chuàng)建Person對(duì)象,嘗試操作和訪問(wèn)對(duì)象的age成員變量。publicclassPersonTest{publicstaticvoidmain(String[]args){Personp=newPerson();//因?yàn)閍ge成員變量已被隱藏,所以下面語(yǔ)句將出現(xiàn)編譯錯(cuò)誤//p.age=1000;//下面語(yǔ)句編譯不會(huì)出現(xiàn)錯(cuò)誤,但運(yùn)行時(shí)將提示“您設(shè)置的年齡不合法”p.setAge(1000);//訪問(wèn)p的age成員變量也必須通過(guò)其對(duì)應(yīng)的getter方法//因?yàn)樯厦鎻奈闯蓡T設(shè)置p的age成員變量,故此時(shí)輸出0System.out.println("未能設(shè)置age成員變量時(shí):"

+p.getAge());p.setAge(30);//成功修改p的age成員變量//因?yàn)樯厦娉晒υO(shè)置了p的age成員變量,故此處輸出30System.out.println("成功設(shè)置age成員變量后:"

+p.getAge());}}訪問(wèn)控制符使用原則13類(lèi)中絕大部分成員變量都應(yīng)該使用private修飾。

除一些static修飾的、類(lèi)似全局變量的成員變量可考慮使用public。類(lèi)中某些方法(工具方法)只用于輔助實(shí)現(xiàn)該類(lèi)的其他方法,工具方法應(yīng)該使用private修飾。若某個(gè)類(lèi)主要用做其他類(lèi)的父類(lèi),該類(lèi)中的大部分方法僅僅希望被子類(lèi)重寫(xiě),而不希望被外界直接調(diào)用,則應(yīng)該使用protected修飾該類(lèi)中的這些方法。希望暴露給其他類(lèi)自由調(diào)用的方法應(yīng)該使用public修飾。訪問(wèn)控制符使用原則14在程序設(shè)計(jì)時(shí),應(yīng)該盡量避免一個(gè)模塊(即一個(gè)類(lèi))直接操作和訪問(wèn)另一個(gè)模塊(即另一個(gè)類(lèi))的數(shù)據(jù)(即成員

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論