Java面試系列【public、private、protected區別】-訪問權限,基礎篇

 在說明這四個關鍵字以前,我想就class之間的關係作一個簡單的定義,對於繼承本身的classbase class能夠認爲他們都是本身的子女,而對於和本身一個目錄下的classes,認爲都是本身的朋友。 安全


 1publicpublic代表該數據成員、成員函數是對全部用戶開放的,全部用戶均可以直接進行調用
 2privateprivate表示私有,私有的意思就是除了class本身以外,任何人都不能夠直接使用,私有財產神聖不可侵犯嘛,即使是子女,朋友,都不可使用。
 3protectedprotected對於子女、朋友來講,就是public的,能夠自由使用,沒有任何限制,而對於其餘的外部classprotected就變成privateide

做用域 當前類 同一package 子孫類 其餘package 函數

public       √          √           √            √ 

protected √         √            √            × 

friendly     √         √            ×            × 

private     √         ×            ×             × 

不寫時默認爲friendly 
學習

 

 

每每在初學Java的時候,都不會提訪問權限和修飾符的問題,在Java的學習中通常都要到包的概念學完纔會涉及訪問控制:spa

      priavte          本類可見對象

      public            全部類可見繼承

      protected      本包和全部子類均可見作用域

      friendly          本包可見(即默認的形式)get

 

      其實在實際應用中,public和private是比較熟悉和好記憶的,主要記住區別protected和friendly兩種訪問控制修飾符。it

 

      那麼在實際應用中,private的類型是在封裝的概念上體現較爲明顯的。private類型的變量都須要經過調用對象的getter和setter方法來訪問。爲了安全起見,public多適用於構造方法(單對象類除外)、類靜態常量等一些形式。

相關文章
相關標籤/搜索