久久精品国产清自在天天线_日韩国产欧美系列_亚洲天堂影视在线观看_91在线艹亚洲无码午夜_日本写真高清视频免费网站网_亚州无码大尺度另类_高跟翘臀老师后进式视频午夜_久久精品国产亚洲AV热黑人_国产另ts另类人妖_丁香五月 开心五月 激情五月

當(dāng)前位置: > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > java-學(xué)習(xí)筆記-訪問權(quán)限修飾詞一
java-學(xué)習(xí)筆記-訪問權(quán)限修飾詞一
時(shí)間:2016-12-14作者:華清遠(yuǎn)見

Public、protected和private

public protected和private是java訪問權(quán)限修飾詞,在使用的時(shí),置于類中的每個(gè)成員定義之前,無論是一個(gè)域還是一個(gè)方法。如果不提供任何訪問權(quán)限修飾詞,則意味著它是“包訪問權(quán)限”。包訪問權(quán)限意味著,當(dāng)前包中的所有其他類對那個(gè)成員都有訪問權(quán)限。但是對于這個(gè)包之外的所有類,這個(gè)成員是private的。對于處于相同目錄并且沒有給自己設(shè)定任何包名稱的文件,java自動(dòng)將它們看作隸屬于該目錄的默認(rèn)包中,于是它們?yōu)樵撃夸浿兴衅渌奈募继峁┝税L問權(quán)限。

public

一個(gè)成員是public的,無論是誰,無論在哪里,都可以訪問該成員。

java編程思想對類訪問權(quán)限的描述:

1. 對于每個(gè)編譯單元(文件)都只能有一個(gè)public類。這表示,每個(gè)編譯單元都有單一的公共接口,用public類來表現(xiàn)。如果某個(gè)編譯單元中有一個(gè)以上的public類,編譯器就會(huì)報(bào)錯(cuò)。

2. 在java代碼組織中,假設(shè)文件名為MyClass.java,那么意味這在這個(gè)文件中的public類名稱必須是MyClass。若名稱不匹配,編譯器同樣會(huì)報(bào)錯(cuò)的。

3. 每個(gè)編譯單元中,也是可以完全不帶public類的。這種情況下,可以隨意對文件命名(但是會(huì)對閱讀和維護(hù)產(chǎn)生影響)(參考://blog.csdn.net/bareheadzzq/article/details/6562211

·protected

繼承而來的類,是可以訪問protected成員的。private

只有自己類,才可以訪問自己類中的private類型的域和方法。

private

關(guān)鍵字private的意思是,除了包含該成員的類之外,其他任何類都無法是訪問到這個(gè)成員。

處于同一個(gè)包內(nèi)的其他類都無法訪問private成員的。因此等于說自己隔離了自己。

訪問權(quán)限的控制常被成為是具體實(shí)現(xiàn)的隱藏。把數(shù)據(jù)和方法包裝進(jìn)類中,以及具體實(shí)現(xiàn)的隱藏,常共同稱為封裝。其結(jié)果是一個(gè)同時(shí)帶有特征和行為的數(shù)據(jù)類型。

類訪問權(quán)限

訪問權(quán)限修飾詞也可以作用與類,若希望某個(gè)類可以為某個(gè)客戶端程序員使用,就可以把public作用于整個(gè)類的定義。

額外的限制:每個(gè)編譯單元(文件)都只能有一個(gè)public類。這表示,每個(gè)編譯單元都有單一的公共接口,用public類來表現(xiàn)。一個(gè)編譯單元擁有一個(gè)以上的public類,編譯器就會(huì)報(bào)錯(cuò)。pubilic類的名稱必須和文件名相同。

注意:類既不可以是一個(gè)private類型的(這樣就導(dǎo)致出類這個(gè)類,其他類都無法訪問它),也不可以是一個(gè)protected類型。對于類的訪問權(quán)限,只有兩種選擇:包訪問權(quán)限和public類型。如果不希望別人對該類擁有訪問權(quán)限,可以把所有的構(gòu)造其設(shè)置為private類型的,從而阻止別人創(chuàng)建這個(gè)類的對象。除非你是這個(gè)類的static方法,在內(nèi)部就可以創(chuàng)建它。

控制對成員的訪問權(quán)限有兩個(gè)原因:

1 是為了是用戶不要觸碰那些他們不該觸碰的部分。這些部分對于類內(nèi)部的操作是必要的,但不屬于客戶端程序員所需要的接口。指定為private,對于客戶端程序員來說,可以清楚的了解什么是他們應(yīng)該注意的,什么是應(yīng)該忽視的。

2 更為重要的原因是,為了讓類庫設(shè)計(jì)者可以更改類的內(nèi)部工作方式,而不必?fù)?dān)心這樣做會(huì)對客戶端程序員會(huì)產(chǎn)生重大的影響。如果接口和實(shí)現(xiàn)可以被明確的隔離和保護(hù),那么就客戶端程序員就可以不用重寫代碼。

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達(dá)個(gè)人看法,并不表明本站同意其觀點(diǎn)或證實(shí)其描述)