版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)產(chǎn)品代加工與農(nóng)業(yè)綠色生產(chǎn)合作合同3篇
- 2025年度全新員工離職保密協(xié)議及知識(shí)產(chǎn)權(quán)歸屬合同2篇
- 二零二五年度互聯(lián)網(wǎng)醫(yī)療股東股權(quán)變更及服務(wù)協(xié)議3篇
- 二零二五年度文化場(chǎng)館租賃合同范本3篇
- 二零二五年度環(huán)保材料研發(fā)人員勞動(dòng)合同書(shū)(含成果轉(zhuǎn)化)2篇
- 2025年公司法人變更合同審查與合規(guī)性審查專(zhuān)項(xiàng)服務(wù)3篇
- 二零二五年度環(huán)保設(shè)備檢修及保養(yǎng)協(xié)議3篇
- 二零二五年度農(nóng)產(chǎn)品電商運(yùn)營(yíng)委托收購(gòu)合作協(xié)議3篇
- 2025養(yǎng)生館合伙人生態(tài)養(yǎng)生旅游項(xiàng)目合作協(xié)議3篇
- 二零二五年度農(nóng)機(jī)作業(yè)與農(nóng)村環(huán)境保護(hù)服務(wù)合同3篇
- 2024秋新商務(wù)星球版地理7年級(jí)上冊(cè)教學(xué)課件 第5章 地球表層的人文環(huán)境要素 第3節(jié) 世界文化的多樣性
- 人教版三年級(jí)數(shù)學(xué)上冊(cè) 期末測(cè)試
- 《跨境電子商務(wù)基礎(chǔ)》課件-阿里巴巴國(guó)際站概述
- 政治-湖南省名校教育聯(lián)盟2025屆高三12月大聯(lián)考試題和答案
- 2025年上半年四川省成都市大數(shù)據(jù)中心招聘3人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案-1
- 外研版一年級(jí)上冊(cè)新交際英語(yǔ)(2024)全冊(cè)教案(單元整體教學(xué)設(shè)計(jì))
- 國(guó)家安全概論學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 翻譯技術(shù)實(shí)踐智慧樹(shù)知到期末考試答案章節(jié)答案2024年山東師范大學(xué)
- 國(guó)家開(kāi)放大學(xué)電大本科《西方社會(huì)學(xué)》2023-2024期末試題及答案(試卷代號(hào):1296)
- JBT5323-91立體倉(cāng)庫(kù)焊接式鋼結(jié)構(gòu)貨架 技術(shù)條件
- 60m3臥式液化石油氣儲(chǔ)罐設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論