java靜態總結筆記

2021-09-22 10:28:47 字數 1700 閱讀 5305

直接呼叫bxdteacher的**作為自己學習的總結筆記1:

先引用**然後引出知識點。

class person}/*

static的特點:

1,static是乙個修飾符,用於修飾成員。

2,static修飾的成員被所有的物件所共享。

3,static優先於物件存在,因為static的成員隨著類的載入就已經存在了。

4,static修飾的成員多了一種呼叫方式,就可以直接被類名所呼叫 。 類名.靜態成員 。

5,static修飾的資料是共享資料,物件中的儲存的是特有資料。

成員變數和靜態變數的區別?

1,兩個變數的生命週期不同。

成員變數隨著物件的建立而存在,隨著物件的被**而釋放。

靜態變數隨著類的載入而存在,隨著類的消失而消失。

2,呼叫方式不同。

成員變數只能被物件呼叫。

靜態變數可以被物件呼叫,還可以被類名呼叫。

3,別名不同。

成員變數也稱為例項變數。

靜態變數稱為類變數。

4,資料儲存位置不同。

成員變數資料儲存在堆記憶體的物件中,所以也叫物件的特有資料.

靜態變數資料儲存在方法區(共享資料區)的靜態區,所以也叫物件的共享資料.

靜態使用的注意事項:

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

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

3,主函式是靜態的。

class staticdemo

public void show()

靜態什麼時候用?

1,靜態變數。

當分析物件中所具備的成員變數的值都是相同的 。

這時這個成員就可以被靜態修飾。

只要資料在物件中都是不同的,就是物件的特有資料,必須儲存在物件中,是非靜態的。

如果是相同的資料,物件不需要做修改,只需要使用即可,不需要儲存在物件中,定義成靜態的。

2,靜態函式。

函式是否用靜態修飾,就參考一點,就是該函式功能是否有訪問到物件中的特有資料。

簡單點說,從源**看,該功能是否需要訪問非靜態的成員變數,如果需要,該功能就是非靜態的。

如果不需要,就可以將該功能定義成靜態的。當然,也可以定義成非靜態,

但是非靜態需要被物件呼叫,而僅建立物件呼叫非靜態的

沒有訪問特有資料的方法,該物件的建立是沒有意義。

class staticcode

staticcode(){}

static void show()

}class staticcodedemo

public static void main(string args)

}執行結果如下:

先載入staticcodedemo類,載入staticcodedemo類的靜態**塊,然後執行main方法,執行到staticcode.shwo()時,staticcode類載入進記憶體,先執行staticcode類的靜態**塊,然後執行show()方法,最後執行main方法裡的最後一條語句。**

靜態**塊。

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

作用:用於給類進行初始化。

java靜態方法使用總結

size medium b 1 靜態方法不需要new就可以直接使用 b size b 靜態方法在類載入的時候就已經存在了,第一次呼叫這個方法時,這個類物件就會載入如jvm中 記憶體 並且只會載入一次,全類公有,可以用類名加 訪問,也可以用這個類的物件呼叫,當用這個物件呼叫該方法時,就會呼叫jvm事先...

Java靜態域與靜態方法 筆記

首記 關鍵字static的含義是 屬於類,但不屬於類物件的變數和函式,這與c 中的含義是相同的 靜態域 靜態域指的是類中用關鍵字static修飾的域,每個類中只有乙個這樣的域,每乙個物件對於所有的例項域都有乙個自己的拷貝。class employee 靜態常量 即用關鍵字final修飾的靜態域。靜態...

java之靜態總結 文本版

靜態的理解 1.類中被static修飾的成員被所有物件 例項 所共享,也就是說這個成員不屬於任何乙個物件 例項 而是屬於這個類 所以靜態變數又稱為類變數.2.類中的某個方法被static修飾與否,生命週期都是一樣的,但是如果這方法沒有訪問非靜態成員,則建議設定成靜態,這樣在呼叫時可以不用建立物件,節...