<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一語點(diǎn)破 Java 中的靜態(tài) static 關(guān)鍵字

          共 1976字,需瀏覽 4分鐘

           ·

          2020-11-13 15:36

          來源 |?blog.csdn.net/ju_362204801/article/details/90738966

          思考:大家有沒有想過一個(gè)問題,靜態(tài)它為什么叫靜態(tài)?因?yàn)闀匣蛘邉e的文章里這么寫的都這么叫的?所以也跟著這么叫??????

          1,模擬分析理解靜態(tài)

          那今天咱們就分析分析,搞定它!

          為了解決上邊的問題,咱們?cè)僖l(fā)一個(gè)問題:有靜肯定就有動(dòng)啊,那這個(gè)“靜”是相對(duì)于誰來說的?

          要講明白這個(gè),首先需要知道Java中類和對(duì)象之間的關(guān)系

          類是對(duì)某些類具有共同特征的事物的抽象,對(duì)象是根據(jù)類產(chǎn)生出的具體實(shí)例。

          請(qǐng)注意:這里說的共同特征是指具有共同的屬性(長度)和共同的行為(方法),絕對(duì)不是指這些物體的數(shù)據(jù)都相同

          舉個(gè)例子:張三和李四都屬于學(xué)生。這里的張三,李四就是具體的實(shí)例對(duì)象;學(xué)生就是一個(gè)抽象出來的具有共同特征的事物,學(xué)生某種事物都有共有班級(jí),姓名,年齡,性別等屬性,所以學(xué)生是個(gè)類。

          但是張三這個(gè)具體的實(shí)例對(duì)象,他的班級(jí)是1班,姓名是張三,年齡是18歲,性別是男;

          李四這個(gè)具體的實(shí)例對(duì)象,她的班級(jí)是2班,姓名是李四,年齡是18歲,性別是女。

          這里的1班2班,18歲,男,女都是具體對(duì)象的具體數(shù)據(jù),這些數(shù)據(jù)是轉(zhuǎn)換張三,李四等這些不同實(shí)例對(duì)象的變化而變化的,是對(duì)象存儲(chǔ)的,這就是上邊說的相對(duì)于靜來說的那個(gè)動(dòng)

          那什么是靜呢?說完了動(dòng),靜就很簡單了,靜就是不轉(zhuǎn)移對(duì)象的變化而變化,是某種物體共有的數(shù)據(jù),注意標(biāo)紅的幾個(gè)字,從而這些靜的數(shù)據(jù)的是通過類存儲(chǔ)的,不是通過對(duì)象變得

          所以靜態(tài)變量又稱為“類變量”,非靜態(tài)的變量又稱為“實(shí)例變量”

          繼續(xù)上邊的示例,學(xué)生類再加個(gè)分段國家,假設(shè)我們只討論中國范圍內(nèi),那么國家這個(gè)分區(qū)就可以定義成靜態(tài)的,因?yàn)閺埲钏囊岩约八械膶W(xué)生對(duì)象,他們國家都是中國,“中國”這個(gè)值學(xué)生類的所有對(duì)象共有的

          靜態(tài)的就是類共有的。靜就是大家(類)都有的共有的,是相對(duì)于通過對(duì)象變化而變化的“動(dòng)”而言的

          嗚啦啦的說了那么多是為了幫助大家更容易的去理解。

          總之簡單粗暴的一句話:靜態(tài)的是繼承類的,非靜態(tài)是繼承對(duì)象的

          那具體什么時(shí)候可以使用靜態(tài)呢?

          2,什么時(shí)候可以使用靜態(tài)?

          因?yàn)殪o態(tài)修飾的內(nèi)容有成員變量和成員方法,所以回答這個(gè)問題得從兩方面入手

          什么時(shí)候可以定義靜態(tài)變量?

          當(dāng)類別中出現(xiàn)所有對(duì)象都共有的數(shù)據(jù)時(shí),該分區(qū)就可以定義成靜態(tài)的。有時(shí)剛才說的學(xué)生類別里的國家這個(gè)分區(qū)就可以定義成靜態(tài)的。

          什么時(shí)候可以定義靜態(tài)方法?

          當(dāng)方法內(nèi)部沒有使用到非靜態(tài)數(shù)據(jù)(對(duì)象的特有數(shù)據(jù))時(shí),那么該方法就可以定義成靜態(tài)的

          大家平常到的工具類XxxUtils就很符合上邊的場(chǎng)景,所以大家見到的工具類基本上都是靜態(tài)的,不用new對(duì)象,直接XxxUtils.xxx()調(diào)用

          3,靜態(tài)的其他內(nèi)容理解

          理解了上述內(nèi)容后,下邊的內(nèi)容就不難理解了

          靜態(tài):static關(guān)鍵字

          static關(guān)鍵字的用法:它是一個(gè)修飾符,用于修飾成員(成員變量,成員方法)

          靜態(tài)的特點(diǎn):

          1,通過類的加載而加載(就是說這個(gè)類一被加載進(jìn)內(nèi)存,靜態(tài)的東西就可以加載進(jìn)去了,這時(shí)候?qū)ο筮€不存在呢)

          2,靜態(tài)先于對(duì)象存在

          3,被所有的對(duì)象共享

          4,可以直接被類名調(diào)用,也可以被對(duì)象調(diào)用

          靜態(tài)使用的注意事項(xiàng):

          1,靜態(tài)方法只能訪問靜態(tài)成員(屬性和方法),不能訪問非靜態(tài)成員。因?yàn)殪o態(tài)在的時(shí)候非靜態(tài)的還沒在呢

          2,非靜態(tài)方法可以訪問靜態(tài)成員,也可以訪問非靜態(tài)成員

          3,因?yàn)殪o態(tài)先于對(duì)象的存在而存在,所以靜態(tài)方法中不可以出現(xiàn)this,super關(guān)鍵字。

          靜態(tài)的利弊:

          1,利:對(duì)于所有對(duì)象都共有的數(shù)據(jù),沒必要每個(gè)對(duì)象中都存在一份,可以使用靜態(tài),節(jié)省空間;可以不新建對(duì)象,直接用類名調(diào)用

          2,缺點(diǎn):因?yàn)殪o態(tài)是通過類存在的,所以生命周期過長;訪問出現(xiàn)局限性,只能訪問靜態(tài)

          靜態(tài)和非靜態(tài)的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)也有所不同,下篇會(huì)接著講一下它們?cè)趦?nèi)存中是怎么存的,以及實(shí)例化一個(gè)對(duì)象具體都做了些啥

          以上就是本人對(duì)java中靜態(tài)的一些理解和總結(jié),若有不對(duì)的地方,歡迎留言指出,一起學(xué)習(xí)進(jìn)步


          DD自研的滬牌代拍業(yè)務(wù),點(diǎn)擊直達(dá)



          往期推薦

          Mysql 都會(huì)遭受哪些方面的攻擊?

          你了解 Java 的 jstat 命令嗎?

          Git 提交代碼之后的幾種后悔藥

          為什么大多數(shù)IOC容器使用ApplicationContext,而不用BeanFactory

          JIRA、Confluence等產(chǎn)品明年2月停售本地化版本,將影響中國近90%的客戶!

          妙用 Intellij IDEA 創(chuàng)建臨時(shí)文件,Git 跟蹤不到的那種


          掃一掃,關(guān)注我

          一起學(xué)習(xí),一起進(jìn)步

          每周贈(zèng)書,福利不斷

          深度內(nèi)容

          推薦加入



          瀏覽 32
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级黄色a| 蜜桃无码久久久久 | 水多多在线成人免费视频 | 人人干人人操人人摸 | 国产麻豆成人品免费观看 |