java中public private_java中public、private、protected区别
類中的數(shù)據(jù)成員和成員函數(shù)據(jù)具有的訪問權(quán)限包括:public、private、protect、friendly(包訪問權(quán)限)
1、public:public表明該數(shù)據(jù)成員、成員函數(shù)是對(duì)所有用戶開放的,所有用戶都可以直接進(jìn)行調(diào)用2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財(cái)產(chǎn)神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。3、protected:protected對(duì)于子女、朋友來說,就是public的,可以自由使用,沒有任何限制,而對(duì)于其他的外部class,protected就變成private。
作用域?當(dāng)前類?同一package?子孫類?其他package
public?????? √???????? ?√????????? ?√??????????? √
protected?√???????? √??????????? √??????????? ×
friendly???? √???????? √??????????? ×??????????? ×
private???? √???????? ×??????????? ×???????????? ×
不寫時(shí)默認(rèn)為friendly ,也即是“包訪問權(quán)限”。
protected權(quán)限:
往往在初學(xué)Java的時(shí)候,都不會(huì)提訪問權(quán)限和修飾符的問題,在Java的學(xué)習(xí)中一般都要到包的概念學(xué)完才會(huì)涉及訪問控制:
priavte???????? ?本類可見
public?????????? ?所有類可見
protected????? 本包和所有子類都可見(本包中的子類非子類均可訪問,不同包中的子類可以訪問,不是子類不能訪問)
friendly????????? 本包可見(即默認(rèn)的形式)(本包中的子類非子類均可訪問,不同包中的類及子類均不能訪問)
類的訪問權(quán)限包括: 包訪問權(quán)限和public。
1.私有權(quán)限?private
private可以修飾數(shù)據(jù)成員,構(gòu)造方法,方法成員,不能修飾類(此處指外部?類,不考慮內(nèi)部類)。被private修飾的成員,只能在定義它們的類中使用,在?其他類中不能調(diào)用。
2.默認(rèn)權(quán)限?(default)
類,數(shù)據(jù)成員,構(gòu)造方法,方法成員,都能夠使用默認(rèn)權(quán)限,即不寫任何關(guān)?鍵字。默認(rèn)權(quán)限即同包權(quán)限,同包權(quán)限的元素只能在定義它們的類中,以及同包?的類中被調(diào)用。
3.受保護(hù)權(quán)限protected
protected可以修飾數(shù)據(jù)成員,構(gòu)造方法,方法成員,不能修飾類(此處指外?部類,不考慮內(nèi)部類)。被protected修飾的成員,能在定義它們的類中,同包?的類中被調(diào)用。如果有不同包的類想調(diào)用它們,那么這個(gè)類必須是定義它們的類?的子類。
4.公共權(quán)限?public
public可以修飾類,數(shù)據(jù)成員,構(gòu)造方法,方法成員。被public修飾的成員?,可以在任何一個(gè)類中被調(diào)用,不管同包或不同包,是權(quán)限最大的一個(gè)修飾符。
有關(guān)Java語(yǔ)言的修飾符,需要注意的問題有如下幾個(gè):
1.并不是每個(gè)修飾符都可以修飾類(指外部類),只有public和default可?以。
2.所有修飾符都可以修飾數(shù)據(jù)成員,方法成員,構(gòu)造方法。
3.為了代碼安全起見,修飾符不要盡量使用權(quán)限大的,而是適用即可。比如?,數(shù)據(jù)成員,如果沒有特殊需要,盡可能用private。
4.修飾符修飾的是“被訪問”的權(quán)限。
總結(jié)
以上是生活随笔為你收集整理的java中public private_java中public、private、protected区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络推广公司怎么盈利(网络推广公司怎么盈
- 下一篇: Linux内核源代码情景分析(linux