更新時間:2020-08-31 16:23:18 來源:動力節點 瀏覽2775次
可能大部分人只知道訪問權限修飾符的訪問范圍,卻不太清楚具體的使用情況,今天我來為大家梳理一下。
Java的訪問權限修飾符有:public,private,protected,默認不寫,這四種。主要說以下兩個方面:
一、可訪問的范圍
1.public表明該數據成員、成員函數是對所有用戶開放的,所有用戶都可以直接進行調用。
2.private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3.protected對于子女、朋友來說,就是public的,可以自由使用,沒有任何限制,而對于其他的外部class,protected就變成private。
4.friendly修飾的類叫友元類,在另外一個類中使用友好類創建對象時,要保證它們在同一包中,就是說在一個包內的類互為友元類。
注釋:
1、友元類就是默認不寫的情況。
2、同包是指類中的backage名稱相同。并無父子包一說。
二、修飾情況
類:
public將一個類聲明為公共類,他可以被任何對象訪問,一個程序的主類必須是公共類。
friendly默認的修飾符,只有在相同包中的對象才能使用這樣的類。
成員變量:
public(公共訪問修飾符)
private(私有訪問修飾符)指定該變量只允許自己的類的方法訪問,其他任何類(包括子類)中的方法均不能訪問。
protected(保護訪問修飾符)指定該變量可以別被自己的類和子類訪問。在子類中可以覆蓋此變量。
friendly,在同一個包中的類可以訪問,其他包中的類不能訪問。
方法:
public(公共修飾符)
private(私有修飾符)指定此方法只能有自己類等方法訪問,其他的類不能訪問(包括子類)
protected(保護訪問修飾符)指定該方法可以被它的類和子類進行訪問。
friendly,在同一個包中的類可以訪問,其他包中的類不能訪問。
總結:
1、以package為前提:分為兩種情況,兩個類的package相同時是可以訪問到類的,package不同時就看是不是public或者是不是子類。
2、以類為準則:這些修飾符不管是作用在類、成員變量、方法上,都是相對于類來說的;也就是說成員和方法的訪問必須要先能夠訪問到類。
升華總結:
1、背景:這就涉及類的使用了,你想一個類中真正啟作用的是不是方法,方法中要使用的自己類中的成員變量和方法,不管你訪問修飾符是什么都
能夠訪問自身的成員變量和方法對不對。但是你想訪問其他的類就涉及到訪問權限的問題了對吧!由此得出訪問權限修飾符是為類而設計
的,你想訪問類,就得先找到類,就出現了package。package的值就代表你這個類的位置。所以關鍵點出現在package和類的上面。
2、類的訪問場景:A類訪問B類,只有A類能夠訪問B類時才能訪問其中的方法,順序都是從左到右,如下圖所示
3、類的訪問修飾符規則:
1;請思考一下,為什么上面的訪問要提及子類呢?為什么子類可以訪問而父類不能訪問呢?其實不難發現,你想訪問到該類你必須先找到他吧!
也不難看出他需要所訪問類的地址,這就出現了import關鍵字,他就是用來指明你所需要訪問的類的地址的。因為子類繼承了父類,import
了父類的地址,所以能夠訪問。其他也就不用多說你也知道,如果想訪問一個類,很簡單import就行了對吧!如果是在同一個包自然不用import。
也就說明了訪問類的真正規則是在package和import這兩個關鍵字上的,同包就package,不同包就import。
2是不是所有的類都可以import呢?你不難發現類的訪問修飾符就兩種public和默認不寫,而默認不寫也就是友元類。他是只能在同包中使用,
不同包是不能使用的,不同包不能使用也就意味著不能import,所以也不能被其他包的類所繼承。
4、成員變量和方法的訪問修飾符規則:
這個訪問都是能夠訪問到另一個類才有效,所以以下是能夠訪問到另一個類情況:
同包是除了private修飾的成員變量和方法,其他都可以訪問。主要說一下不同包的情況,對于默認不寫的情況都是不可訪問的,這也很好理解
他需要的包相同,protected的修飾符是需要繼承才能訪問。
精簡總結:
public開放所有,
private不能跨類訪問,
friendly不能跨包訪問,
protected跨包需要繼承才能訪問。
最簡總結:默認不寫不跨包,保護跨包要繼承。
以上就是動力節點java培訓機構的小編針對“Java訪問權限修飾符,基礎學習”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習