国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

詳解java中staitc關鍵字

2019-11-14 21:51:37
字體:
來源:轉載
供稿:網友
詳解java中staitc關鍵字

一、static定義

  static是靜態修飾符意思,什么叫靜態修飾符呢?大家都知道,在程序中任何變量或者代碼都是在編譯時由系統自動分配內存來存儲的,而所謂靜態就是指在編譯后所分配的內存會一直存在,直到程序退出內存才會釋放這個空間,也就是只要程序在運行,那么這塊內存就會一直存在。這樣做有什么意義呢? 在Java程序里面,萬物皆對象,而對象的抽象就是類,對于一個類而言,如果要使用他的成員,那么普通情況下必須先實例化對象后,通過對象的引用才能夠訪問這些成員,但是有種情況例外,就是該成員是用static聲明的。

static聲明的靜態變量可以直接通過類名調用!

 1 class Demo{ 2     public static void main(String[] args) 3     { 4         Person p = new Person(); 5         System.out.PRintln(p.country);        //1、新建對象調用 6         System.out.println(Person.country); //2、通過類名直接調用 7     } 8 } 9 class Person{10     static String country = "china";11 }

二、static特點

由此我們得出static的特點。

a、static是一個修飾符,用于修飾成員。

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

c、static優先于對象存在,static成員隨著類的加載就已經存在。

d、static修飾成員多一種調用方式--通過類名調用。

三、成員變量和靜態變量區別?

1.兩個變量的生命周期同

  成員變量隨對象創建存在,隨對象回收而釋放。

  靜態變量隨類的加載而存在,同樣也隨著類而消失。

2、調用方式

  成員變量只能被對象調用。

  靜態變量能被對象調用,還可以被類名調用。

3、內存中存儲位置不同。

  成員變量存儲在堆內存中。

  靜態變量存儲在方法區(共享數據區)的靜態區。

四、靜態使用注意事項

1、靜態方法只能訪問靜態成員。

2、靜態方法中不可以用this或super關鍵字。

3、主函數都是靜態的。

class Demo{    public static void main(String[] args)    {        Person.show();    }}class Person{    static String country = "china";     String name = "jinfulin";    public static void show()    {        System.out.print(country);    //正確        //System.out.print(name);    //錯誤    }}

五、什么時候使用靜態?

1、靜態成員

  分析對象中所有的成員變量的值都是相同的。

2、靜態函數

  不需要初始化就能直接訪問(該函數沒有訪問到類的特有數據)。

  還是上面那個人的例子,下面這個show方法沒有調用特有數據,所以定義成靜態的更好。

class Demo{    public static void main(String[] args)    {        Person.show();    }}class Person{    static String country = "china";    String name = "jinfulin";    public static void show()    {        System.out.print("哈哈~");    }}

六、特殊用法--靜態代碼塊

隨著類的加載而執行,而且只執行一次。

作用:用于類的初始化。

class Demo{    public static void main(String[] args)    {        new Person().show();        new Person().show();    }}class Person{    static    {        System.out.println("haha....");    }    void show()    {        System.out.println("哈哈~");    }}

如上:結果為一次haha,兩次哈哈

ps:在執行順序上,靜態代碼塊>構造代碼塊>構造函數

最后,以上就是java中static的用法,static不僅上編程時候難理解的地方,也是面試愛考的地方,以后我們的學習必定要更加的細化,不僅要明白如何做出,還要知道如何做好。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大方县| 巩留县| 大新县| 枣庄市| 县级市| 星子县| 岳池县| 无棣县| 嘉峪关市| 太谷县| 娄烦县| 长汀县| 益阳市| 公主岭市| 东乌珠穆沁旗| 泾阳县| 嘉鱼县| 闵行区| 讷河市| 射洪县| 紫云| 呼图壁县| 安泽县| 青州市| 浙江省| 收藏| 博客| 岳普湖县| 宁陵县| 龙州县| 松原市| 读书| 万载县| 哈巴河县| 丹江口市| 安西县| 云阳县| 潞西市| 平果县| 深圳市| 黎川县|