java-學習筆記-訪問權限修飾詞一
時間:2016-12-14作者:華清遠見
Public、protected和private public protected和private是java訪問權限修飾詞,在使用的時,置于類中的每個成員定義之前,無論是一個域還是一個方法。如果不提供任何訪問權限修飾詞,則意味著它是“包訪問權限”。包訪問權限意味著,當前包中的所有其他類對那個成員都有訪問權限。但是對于這個包之外的所有類,這個成員是private的。對于處于相同目錄并且沒有給自己設定任何包名稱的文件,java自動將它們看作隸屬于該目錄的默認包中,于是它們為該目錄中所有其他的文件都提供了包訪問權限。 public 一個成員是public的,無論是誰,無論在哪里,都可以訪問該成員。 java編程思想對類訪問權限的描述: 1. 對于每個編譯單元(文件)都只能有一個public類。這表示,每個編譯單元都有單一的公共接口,用public類來表現。如果某個編譯單元中有一個以上的public類,編譯器就會報錯。 2. 在java代碼組織中,假設文件名為MyClass.java,那么意味這在這個文件中的public類名稱必須是MyClass。若名稱不匹配,編譯器同樣會報錯的。 3. 每個編譯單元中,也是可以完全不帶public類的。這種情況下,可以隨意對文件命名(但是會對閱讀和維護產生影響)(參考://blog.csdn.net/bareheadzzq/article/details/6562211) ·protected 繼承而來的類,是可以訪問protected成員的。private 只有自己類,才可以訪問自己類中的private類型的域和方法。 private 關鍵字private的意思是,除了包含該成員的類之外,其他任何類都無法是訪問到這個成員。 處于同一個包內的其他類都無法訪問private成員的。因此等于說自己隔離了自己。 訪問權限的控制常被成為是具體實現的隱藏。把數據和方法包裝進類中,以及具體實現的隱藏,常共同稱為封裝。其結果是一個同時帶有特征和行為的數據類型。 類訪問權限 訪問權限修飾詞也可以作用與類,若希望某個類可以為某個客戶端程序員使用,就可以把public作用于整個類的定義。 額外的限制:每個編譯單元(文件)都只能有一個public類。這表示,每個編譯單元都有單一的公共接口,用public類來表現。一個編譯單元擁有一個以上的public類,編譯器就會報錯。pubilic類的名稱必須和文件名相同。 注意:類既不可以是一個private類型的(這樣就導致出類這個類,其他類都無法訪問它),也不可以是一個protected類型。對于類的訪問權限,只有兩種選擇:包訪問權限和public類型。如果不希望別人對該類擁有訪問權限,可以把所有的構造其設置為private類型的,從而阻止別人創建這個類的對象。除非你是這個類的static方法,在內部就可以創建它。 控制對成員的訪問權限有兩個原因: 1 是為了是用戶不要觸碰那些他們不該觸碰的部分。這些部分對于類內部的操作是必要的,但不屬于客戶端程序員所需要的接口。指定為private,對于客戶端程序員來說,可以清楚的了解什么是他們應該注意的,什么是應該忽視的。 2 更為重要的原因是,為了讓類庫設計者可以更改類的內部工作方式,而不必擔心這樣做會對客戶端程序員會產生重大的影響。如果接口和實現可以被明確的隔離和保護,那么就客戶端程序員就可以不用重寫代碼。 發表評論
|