Java中四種訪問控制權限解析(private、default、protected、public)
一、java權限簡介
java當中有4種訪問修飾限定符privat、default(默認訪問權限),protected以及public。只有默認訪問權限和public能夠用來修飾類。修飾類的變量和方法四種權限都可以。
- private:如果一個類的方法或者變量被private修飾,那么這個類的方法或者變量只能在該類本身中被訪問,在類外以及其他類中都不能顯示地進行訪問。
- default(默認訪問權限):如果一個類的方法或變量被包訪問權限修飾,也就意味著只能在同一個包中的其他類中顯示地調用該類的方法或者變量,在不同包中的類中不能顯示地調用該類的方法或變量。
- protected:如果一個類的方法或者變量被protected修飾,對于同一個包的類,這個類的方法或變量是可以被訪問的。對于不同包的類,只有繼承于該類的類才可以訪問到該類的方法或者變量。
- public:被public修飾的方法或者變量,在任何地方都是可見的。
范圍 | private | default | protected | public | |
---|---|---|---|---|---|
1 | 同一包中的同一類 | √ | √ | √ | √ |
2 | 同一包中的不同類 | √ | √ | √ | |
3 | 不同包中的子類 | √ | √ | ||
4 | 不同包中的非子類 | √ |
二、舉例使用
1.private
在(1)中當變量age在Person類里定義時被private修飾時,在test1內部需要引用時就會報錯。因為age超出了訪問權限。而在圖(2)當中在class內部的age(this.age指在Person內部的age)使用時可以正常使用。
2.默認權限(default)
沒有被任何修飾符修飾的變量即是默認訪問權限,該變量可以在該包里的任意類里使用,
3.protected
demo中的test2繼承了demo1中的test1,而且a被protected修飾。盡管test2和test1不在同一包中,卻可以在test1中訪問a,剛好符合protected變量的最大訪問權限。
4.public
被public修飾的變量在任何位置都可以使用。
注意
1.四種訪問權限范圍的大小從小到大:private<default(默認訪問權限)<protected<public。
2.當定義變量時不加任何修飾會默認為默認權限。
3.在子類中訪問父類中的變量時需要用super。
到此這篇關于Java中四種訪問控制權限解析(private、default、protected、public)的文章就介紹到這了,更多相關Java訪問控制權限內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring + mybatis + mysql使用事物的幾種方法總結
這篇文章主要給大家總結介紹了關于Spring + mybatis + mysql使用事物的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-05-05詳解Spring Boot中使用Flyway來管理數(shù)據庫版本
這篇文章主要介紹了詳解Spring Boot中使用Flyway來管理數(shù)據庫版本,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01