今天小編就來講講兩個權(quán)限修飾符一個是public,其實(shí)之前講過,另外一個是什么都不寫那其實(shí)是default或者稱作friendly修飾符。
public:
這個修飾符權(quán)限完全公開,所有類和包都可以訪問的到
作用:一般用作公開的方法、常量、靜態(tài)變量、靜態(tài)常量等地方
注意:屬性上很少用public,為了保證安全,一般屬性都是要封裝private的。
那default或者說friendly
這個是包內(nèi)可以訪問,僅僅是包內(nèi)所有類都可以訪問
區(qū)別于protected的是:
protected是
1、包內(nèi)所有類可以訪問
2、包外的子類可以訪問
默認(rèn)訪問權(quán)限是:
1、包內(nèi)可以訪問、同一個包內(nèi)子類也可以訪問!
2、包外任何類都是不能訪問的!
比如下邊的例子:
大家看到TeaCup繼承了Cup類,Cup的deep屬性是用的protected的訪問權(quán)限,雖然兩個類在不同包中,但是Cup的派生類也TeaCup是可以直接使用deep這個屬性的。
那再看下邊這個例子和上邊例子目錄結(jié)構(gòu)一致,唯一不同的是屬性的訪問權(quán)限是默認(rèn)的:
這個例子中Desktop中所有屬性都是默認(rèn)訪問權(quán)限,也就是包訪問權(quán)限
StudentDesktop和Desktop分別在兩個包中
即使StudentDesktop是Desktop的派生類,那StudentDesktop也是無法訪問屬性的。
那默認(rèn)訪問權(quán)限在同一個包中的子類呢?咱們驗(yàn)證下,把StudentDesktop移動到test01包中(鼠標(biāo)拽過去就可以)
那大家看,兩個在相同目錄了,并且是父子關(guān)系,那屬性是默認(rèn)的訪問權(quán)限,這個屬性在子類中是可以訪問的!
大家自己試試在同一個目錄下,屬性默認(rèn)的訪問權(quán)限在非子類的類中是否可以訪問?(其實(shí)是可以訪問的)
那默認(rèn)訪問權(quán)限大家應(yīng)該清楚了。
到此為止private、protected、default和public這四種訪問權(quán)限的方式大家都學(xué)會了,
我給大家都列舉一下private、protected、default和public這四種訪問權(quán)限的權(quán)限列表吧,看截圖:
以上就是北大青鳥長沙麓谷校區(qū)Java培訓(xùn)機(jī)構(gòu)小編介紹的“哪個Javase教程好:訪問權(quán)限修飾符”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。