Java 靜態域與靜態方法

2021-09-18 06:38:55 字數 872 閱讀 4076

如果將靜態域定義為 static ,每個類只有乙個這樣的域。假如給學生類新增乙個例項域id與靜態域nextid,那麼每個學生物件都有乙個自己的id域,但這個類的所有例項將共享乙個nextid,即這些例項的nextid的內容是一樣的。靜態域屬於類,不屬於任何物件,物件呼叫不了它,只能由類呼叫。

class

student..

..student a =

newstundet(.

..);

student b =

newstundet(.

..);

a.nextid;

//物件不可以呼叫

student.

nextid()

//類可以呼叫

靜態變數使用的比較少,靜態常量使用的比較多。當我們需要用到 π 的值的時候,該怎麼獲得?

在math類中定義了乙個靜態常量pi,(pi為π的值),我們可以math.pi直接獲取pi的值。

public

class

math

上面的static能去掉嗎? 答案是能,但是這樣就不是靜態方法了,需要由類的物件的引用來呼叫這個方法了 student a = new student(…); a.getnextid();

在下面兩種情況下使用靜態方法:

1.乙個方法不需要訪問物件狀態,其所需引數都是通過顯示引數提供(如 math.pow)。

2.乙個方法只需要訪問類的靜態域(如 student,getnextid())。

最常見的靜態方法是main方法:public static void main(string args){}。

還有乙個工廠方法後續會講。

Java靜態域與靜態方法 筆記

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

4 4 靜態域與靜態方法

4.4 靜態域與靜態方法 4.4.1 靜態域 如果將域定義為static,每個類中只有乙個這樣的域,而每乙個物件對於所有的例項域卻都有自己的乙份拷貝。class employee 每個雇員物件都有自己的id域,但所有的類的例項將共享乙個nextid域,舉例說如果有1000個employee物件,則有...

靜態域 靜態變數 靜態方法

static關鍵字修飾的域 class employee 這裡employee物件有乙個例項域id和乙個靜態域nextid,每乙個employee物件都有乙個例項域id,但是所有的物件共享乙個靜態域nextid。假設有1000個employee物件,則有1000個例項域id,但是,只有乙個靜態域ne...