java中的各種修飾符作用及范圍
訪問修飾符
private
缺省
protected
public
作用范圍
訪問修飾符\作用范圍 | 所在類 | 同一包內(nèi)其他類 | 其他包內(nèi)子類 | 其他包內(nèi)非子類 |
---|---|---|---|---|
private | 可以訪問 | 不可以 | 不可以 | 不可以 |
缺省 | 可以 | 可以 | 不可以 | 不可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
public | 可以 | 可以 | 可以 | 可以 |
private
被private修飾的屬性和方法,不能被其他類訪問,子類不能繼承也不能訪問。只能在所在類內(nèi)部訪問。
缺省
變量或者方法前沒有訪問修飾符時(shí),可以被所在類訪問,可以被同一包內(nèi)的其他類訪問 或者繼承。但是不能被其他包訪問。
protected
被protected修飾的方法和屬性,在同一包內(nèi)可被訪問和繼承。不同包內(nèi),子類可繼承,非子類不能訪問。
public
方法和屬性前有public修飾,可以被任意包內(nèi)的類訪問。
另外,類要想被其他包導(dǎo)入,必須聲明為public。被public修飾的類,類名必須與文件名相同。
靜態(tài)修飾符的特點(diǎn)
static是一個(gè)修飾符,用于修飾成員(成員變量和成員函數(shù))
1.靜態(tài)成員隨著類的加載而加載。
2.靜態(tài)成員優(yōu)先于對(duì)象存在。
3.靜態(tài)成員被所有對(duì)象所共享
4.靜態(tài)成員多了一個(gè)中調(diào)用方式,可以被類名直接調(diào)用。
靜態(tài)使用的注意事項(xiàng)
1.靜態(tài)方法只能訪問靜態(tài)成員, 非靜態(tài)方法既可以訪問靜態(tài)又可以訪問非靜態(tài)。
2.靜態(tài)方法中不可以定義this,super關(guān)鍵字。因?yàn)閠his代表是對(duì)象。而靜態(tài)存在時(shí),有可能沒有對(duì)象。所以靜態(tài)方法運(yùn)行時(shí),this是沒有任何對(duì)象代表的。簡單說,先進(jìn)內(nèi)存的數(shù)據(jù)不可以訪問后進(jìn)內(nèi)存的數(shù)據(jù),可是后進(jìn)內(nèi)存數(shù)據(jù)可以訪問先進(jìn)內(nèi)存的數(shù)據(jù)。
3.主函數(shù)是靜態(tài)的
靜態(tài)的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):靜態(tài)成員多了一種調(diào)用方式??梢灾苯颖活惷{(diào)用 格式 :類名.靜態(tài)成員。也可以被對(duì)象調(diào)用。
弊端:靜態(tài)方法只能訪問靜態(tài)成員,出現(xiàn)了訪問局限性。
靜態(tài)修飾的數(shù)據(jù)對(duì)象共享的數(shù)據(jù),存放在方法區(qū)的靜態(tài)區(qū)中。
非靜態(tài)的數(shù)據(jù),是每一個(gè)對(duì)象特有數(shù)據(jù)。存放在對(duì)象的所屬的堆內(nèi)存中。
當(dāng)成員變量被靜態(tài)修飾后,和非靜態(tài)成員變量的區(qū)別
1.靜態(tài)變量也稱為類變量,也就是直接可以被類名調(diào)用的變量。這個(gè)變量是所屬于類的。非靜態(tài)變量成為成員變量,或者實(shí)例變量,是被對(duì)象調(diào)用的,是所屬具體對(duì)象的。
2.靜態(tài)變量隨著類的加載而加載,也意味著隨著類的消失而消失。生命周期最長。實(shí)例變量,隨著對(duì)象的創(chuàng)建而加載,隨著對(duì)象的消失而消失。按照對(duì)象的生命周期而存在。
3.靜態(tài)變量存儲(chǔ)在方法區(qū)的靜態(tài)區(qū)中。實(shí)例變量存在于對(duì)象所屬的堆內(nèi)存中。
4.靜態(tài)變量數(shù)據(jù),被所有對(duì)象所共享。實(shí)例變量是對(duì)象中的特有數(shù)據(jù)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java利用MYSQL LOAD DATA LOCAL INFILE實(shí)現(xiàn)大批量導(dǎo)入數(shù)據(jù)到MySQL
Mysql load data的使用,MySQL的LOAD DATAINFILE語句用于高速地從一個(gè)文本文件中讀取行,并裝入一個(gè)表中2018-03-03spring boot整合jsp及設(shè)置啟動(dòng)頁面的方法
這篇文章主要給大家介紹了關(guān)于spring boot整合jsp及設(shè)置啟動(dòng)頁面的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09spring boot security 沒有合適的構(gòu)造器問題
這篇文章主要介紹了spring boot security 沒有合適的構(gòu)造器問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12