您好,登錄后才能下訂單哦!
Java類的訪問權限關鍵字的用法?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Java中提供了三個關鍵字在類的內部設置邊界,控制類的訪問權限,分別是:public、protected、private。這些訪問的指定詞決定了緊跟其后的被定義的東西可以被誰使用。
public:表示其后的元素對任何人都可以使用。
private:表示其后的元素除了類型的創建者和內部的方法之外任何人都不能訪問。
protected:與private相當,差別在于繼承的類可以訪問protected修飾的元素,同包中的其他類元素也可以訪問。
Java還有一種默認的訪問權限,在不指定任何關鍵字的情況下,這種權限將發揮作用,它是一種包的訪問權限,即在當前包中的任何元素可以訪問。
訪問權限控制的作用:
1、讓客戶端程序員無法觸及他們不應該觸及的一部分數據——這些數據對于數據類型的內部操作是必須的,但并不是解決特定問題所需接口的一部分。隱藏一些實現的細節對于保護數據類型內部脆弱的部分,提高程序的安全性和可用性也是必須的。
2、允許類庫的設計者改變其內部的工作方式而不影響客戶端程序員。在設計者有更加優化的代碼設計方式的時候可以隨時改變類的內部結構,而這些對于客戶端程序員都是不可見的,他們也無需關心類的實現細節。
——來自《Java編程思想》
補充知識:JAVA 中的權限訪問修飾符(public,protected,default,private )
JAVA中有四個權限訪問修飾符:public,protected,default,private
注意:這里講的是對類中屬性和方法的訪問權限,并不是類的訪問權限
1.default:包訪問權限
如果什么也沒寫,默認為default。當然也可以顯式得給出default權限
default修飾的屬性和方法,包中的所有其他類對那個成員都有訪問權限,但是對于這個包之外的所有類沒有訪問權限。
2.public: 接口訪問權限
public修飾的屬性和方法對每個類都是可見的
3.private:類內訪問權限
private和public相對,private修飾的屬性和方法即除類本身外,其他類都不能訪問。
4.protected:繼承訪問權限
首先,protected提供包訪問權限。換句話說,如果兩個類在同一個包內,對調用者所在的類來說,default和protected提供的訪問權限相同。
如果不在一個包,protected提供了繼承訪問權限,即子類可以訪問父類中被protected修飾的屬性和方法。
他們關系如下:
類內 | 繼承 | 包內 | 其他所有 | |
public | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | 否 |
default | 是 | 是 | 否 | 否 |
private | 是 | 否 | 否 | 否 |
看完上述內容,你們掌握Java類的訪問權限關鍵字的用法的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。