Java類的訪問權(quán)限關(guān)鍵字用法說明
Java中提供了三個關(guān)鍵字在類的內(nèi)部設(shè)置邊界,控制類的訪問權(quán)限,分別是:public、protected、private。這些訪問的指定詞決定了緊跟其后的被定義的東西可以被誰使用。
public:表示其后的元素對任何人都可以使用。
private:表示其后的元素除了類型的創(chuàng)建者和內(nèi)部的方法之外任何人都不能訪問。
protected:與private相當(dāng),差別在于繼承的類可以訪問protected修飾的元素,同包中的其他類元素也可以訪問。
Java還有一種默認(rèn)的訪問權(quán)限,在不指定任何關(guān)鍵字的情況下,這種權(quán)限將發(fā)揮作用,它是一種包的訪問權(quán)限,即在當(dāng)前包中的任何元素可以訪問。
訪問權(quán)限控制的作用:
1、讓客戶端程序員無法觸及他們不應(yīng)該觸及的一部分?jǐn)?shù)據(jù)——這些數(shù)據(jù)對于數(shù)據(jù)類型的內(nèi)部操作是必須的,但并不是解決特定問題所需接口的一部分。隱藏一些實現(xiàn)的細(xì)節(jié)對于保護(hù)數(shù)據(jù)類型內(nèi)部脆弱的部分,提高程序的安全性和可用性也是必須的。
2、允許類庫的設(shè)計者改變其內(nèi)部的工作方式而不影響客戶端程序員。在設(shè)計者有更加優(yōu)化的代碼設(shè)計方式的時候可以隨時改變類的內(nèi)部結(jié)構(gòu),而這些對于客戶端程序員都是不可見的,他們也無需關(guān)心類的實現(xiàn)細(xì)節(jié)。
——來自《Java編程思想》
補充知識:JAVA 中的權(quán)限訪問修飾符(public,protected,default,private )
JAVA中有四個權(quán)限訪問修飾符:public,protected,default,private
注意:這里講的是對類中屬性和方法的訪問權(quán)限,并不是類的訪問權(quán)限
1.default:包訪問權(quán)限
如果什么也沒寫,默認(rèn)為default。當(dāng)然也可以顯式得給出default權(quán)限
default修飾的屬性和方法,包中的所有其他類對那個成員都有訪問權(quán)限,但是對于這個包之外的所有類沒有訪問權(quán)限。
2.public: 接口訪問權(quán)限
public修飾的屬性和方法對每個類都是可見的
3.private:類內(nèi)訪問權(quán)限
private和public相對,private修飾的屬性和方法即除類本身外,其他類都不能訪問。
4.protected:繼承訪問權(quán)限
首先,protected提供包訪問權(quán)限。換句話說,如果兩個類在同一個包內(nèi),對調(diào)用者所在的類來說,default和protected提供的訪問權(quán)限相同。
如果不在一個包,protected提供了繼承訪問權(quán)限,即子類可以訪問父類中被protected修飾的屬性和方法。
他們關(guān)系如下:
類內(nèi) 繼承 包內(nèi) 其他所有 public 是 是 是 是 protected 是 是 是 否 default 是 是 否 否 private 是 否 否 否以上這篇Java類的訪問權(quán)限關(guān)鍵字用法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
