Java中的存取控制符(public、protected、private、friendly)

來源:互聯網
上載者:User

      在Java程式設計語言中有四種許可權存取控制符,這四種存取權限的控制符能夠控制類中成員的可見度。

    一、public

     (1)定義:public是公用的,被public所修飾的成員可以在任何類中都能被訪問到。

     (2)修飾的成分:

        public能用來修飾類,在一個java源檔案中只能有一個類被聲明為public,而且一旦有一個類為public,那這個java源檔案的檔案名稱就必須要和這個被public所修飾的類的類名相同,否則編譯不能通過。說到這裡,穿插多一點知識。一個類作為外部類的時候只能被public或者預設存取修飾詞所修飾,但是一個類如果作為內部類的時候,則可以被四種存取修飾詞所修飾,因為一個類作為內部類的時候,就作為外部類的一個成員屬性了,因此可以有四種存取修飾詞修飾,這是內部類和外部類的一個區別。

        public用來修飾類中成員(變數和方法),被public所修飾的成員可以在任何類中都能被訪問到。通過操作該類的對象能隨意訪問public成員。

        public在類的繼承上的體現,被public所修飾的成員能被所有的子類繼承下來。

   二、protected

       (1)定義:protected是受保護的,受到該類所在的包所保護。

       (2)範圍:被protected所修飾的成員會被位於同一package中的所有類訪問到。同時,被protected所修飾的成員也能被該類的所有子類繼承下來。(注意:這裡是指同一個package或者不同的package中的子類都能訪問)

   三、friendly(預設,預設的)

        (1)定義:friendly是友好的,即在成員的前面不寫任何的存取修飾詞的時候,預設就是友好的。所謂友好的,是對同一package的類友好。

        (2)範圍:同一package中的所有類都能訪問。被friendly所修飾的成員只能被該類所在同一個package中的子類所繼承下來。(也就是說只有在同一個package中的子類才能訪問到父類中friendly修飾的成員)

   四、private

          (1)定義:private是私人的,即只能在當前類中被訪問到,它的範圍最小。

  

下面用一個表格說明四個存取控制符的範圍:

範圍         當前類       同一package
      子孫類       其他package的類

public             √                   √
                 √                     √

protected        √                  
√                    √                     ×

friendly           √                 
√                    ×                     ×

private             √                   ×                   ×                     ×

 這些是我對Java中存取控制符的一點理解,希望能對一些像我一樣菜鳥的Java初學者起到一點協助,謝謝!

 

 

 

 

       

    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.