您好,登錄后才能下訂單哦!
本篇內容介紹了“java中的各種修飾符作用及范圍是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
private
缺省
protected
public
訪問修飾符\作用范圍 | 所在類 | 同一包內其他類 | 其他包內子類 | 其他包內非子類 |
---|---|---|---|---|
private | 可以訪問 | 不可以 | 不可以 | 不可以 |
缺省 | 可以 | 可以 | 不可以 | 不可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
public | 可以 | 可以 | 可以 | 可以 |
private
被private修飾的屬性和方法,不能被其他類訪問,子類不能繼承也不能訪問。只能在所在類內部訪問。
缺省
變量或者方法前沒有訪問修飾符時,可以被所在類訪問,可以被同一包內的其他類訪問 或者繼承。但是不能被其他包訪問。
protected
被protected修飾的方法和屬性,在同一包內可被訪問和繼承。不同包內,子類可繼承,非子類不能訪問。
public
方法和屬性前有public修飾,可以被任意包內的類訪問。
另外,類要想被其他包導入,必須聲明為public。被public修飾的類,類名必須與文件名相同。
static是一個修飾符,用于修飾成員(成員變量和成員函數)
1.靜態成員隨著類的加載而加載。
2.靜態成員優先于對象存在。
3.靜態成員被所有對象所共享
4.靜態成員多了一個中調用方式,可以被類名直接調用。
1.靜態方法只能訪問靜態成員, 非靜態方法既可以訪問靜態又可以訪問非靜態。
2.靜態方法中不可以定義this,super關鍵字。因為this代表是對象。而靜態存在時,有可能沒有對象。所以靜態方法運行時,this是沒有任何對象代表的。簡單說,先進內存的數據不可以訪問后進內存的數據,可是后進內存數據可以訪問先進內存的數據。
3.主函數是靜態的
優點:靜態成員多了一種調用方式。可以直接被類名調用 格式 :類名.靜態成員。也可以被對象調用。
弊端:靜態方法只能訪問靜態成員,出現了訪問局限性。
靜態修飾的數據對象共享的數據,存放在方法區的靜態區中。
非靜態的數據,是每一個對象特有數據。存放在對象的所屬的堆內存中。
1.靜態變量也稱為類變量,也就是直接可以被類名調用的變量。這個變量是所屬于類的。非靜態變量成為成員變量,或者實例變量,是被對象調用的,是所屬具體對象的。
2.靜態變量隨著類的加載而加載,也意味著隨著類的消失而消失。生命周期最長。實例變量,隨著對象的創建而加載,隨著對象的消失而消失。按照對象的生命周期而存在。
3.靜態變量存儲在方法區的靜態區中。實例變量存在于對象所屬的堆內存中。
4.靜態變量數據,被所有對象所共享。實例變量是對象中的特有數據
“java中的各種修飾符作用及范圍是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。