JAVA中的static關(guān)鍵字作用與用法

static關(guān)鍵字:

一、特點:

  1、static是一個修飾符,用于修飾成員。(成員變量,成員函數(shù))static修飾的成員變量 稱之為靜態(tài)變量或類變量。

  2、static修飾的成員被所有的對象共享。

  3、static優(yōu)先于對象存在,因為static的成員隨著類的加載就已經(jīng)存在。

  4、static修飾的成員多了一種調(diào)用方式,可以直接被類名所調(diào)用,(類名.靜態(tài)成員)。

  5、static修飾的數(shù)據(jù)是共享數(shù)據(jù),對象中的存儲的是特有的數(shù)據(jù)。


二、成員變量和靜態(tài)變量的區(qū)別:

  1、生命周期的不同:

    成員變量隨著對象的創(chuàng)建而存在隨著對象的回收而釋放。

    靜態(tài)變量隨著類的加載而存在隨著類的消失而消失。

  2、調(diào)用方式不同:

    成員變量只能被對象調(diào)用。

    靜態(tài)變量可以被對象調(diào)用,也可以用類名調(diào)用。(推薦用類名調(diào)用)

  3、別名不同:

    成員變量也稱為實例變量。

    靜態(tài)變量稱為類變量。

  4、數(shù)據(jù)存儲位置不同:

    成員變量數(shù)據(jù)存儲在堆內(nèi)存的對象中,所以也叫對象的特有數(shù)據(jù)。

    靜態(tài)變量數(shù)據(jù)存儲在方法區(qū)(共享數(shù)據(jù)區(qū))的靜態(tài)區(qū),所以也叫對象的共享數(shù)據(jù)。

三、靜態(tài)使用時需要注意的事項:

  1、靜態(tài)方法只能訪問靜態(tài)成員。(非靜態(tài)既可以訪問靜態(tài),又可以訪問非靜態(tài))

  2、靜態(tài)方法中不可以使用this或者super關(guān)鍵字。

  3、主函數(shù)是靜態(tài)的

四、什么時候使用static來修飾

????????1、靜態(tài)變量:

? ? ? ? ? ? ? ? (1)當(dāng)分析對象中所具備的成員變量的值都是相同的。這時這個成員就可以被靜態(tài)修飾。

? ? ? ? ? ? ? ? (2)只要是數(shù)據(jù)在對象中都是不同的,就是對象的特有數(shù)據(jù),必須存儲在對象中,是非靜態(tài)的。

? ? ? ? ? ? ? ? (3)如果是相同的數(shù)據(jù),對象不需要做修改,只需要使用即可,不需要存儲在對象中,是靜態(tài)的。

????????2、靜態(tài)函數(shù)。

? ? ? ? ? ? ? ? (1)函數(shù)是否用靜態(tài)修飾,就參考一點,就是該函數(shù)功能是否有訪問到對象中特有的數(shù)據(jù)。

? ? ? ? ? ? ? ? (2)簡單來說,從源代碼看,該功能是否需要訪問非靜態(tài)的成員變量,如果需要,該功能就是非靜態(tài)的。如果不需要,就可以將該功能定義成靜態(tài)的。當(dāng)然,也可以定義成非靜態(tài),但是非靜態(tài)需要被對象調(diào)用,而僅創(chuàng)建對象是沒有意義的。

????????3、靜態(tài)代碼塊:

? ? ? ? ? ? ? ? (1)隨著類的調(diào)用或創(chuàng)建實例而執(zhí)行,而且只執(zhí)行一次。

????????????????作用:用于給類進行初始化。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,638評論 18 399
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 30,215評論 8 265
  • 整理來自互聯(lián)網(wǎng) 1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工具...
    Ncompass閱讀 1,617評論 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)...
    慕容小偉閱讀 1,939評論 0 10
  • 走進百年西安易俗社,觀看由范紫東編劇的秦腔名劇《軟玉屏》,感受秦腔的魅力。 上一次進易俗社,是1981年11月23...
    王趙民閱讀 556評論 0 0

友情鏈接更多精彩內(nèi)容