4 4 靜態域與靜態方法

2022-09-01 10:12:10 字數 1125 閱讀 2671

4.4 靜態域與靜態方法

4.4.1 靜態域

如果將域定義為static,每個類中只有乙個這樣的域,而每乙個物件對於所有的例項域卻都有自己的乙份拷貝。

class employee

每個雇員物件都有自己的id域,但所有的類的例項將共享乙個nextid域,舉例說如果有1000個employee物件,則有1000個例項域id,但是只有乙個靜態域nextid。即便沒有employee物件,靜態域nextid仍然是存在的。這個靜態域nextid屬於類,但不屬於獨立的物件。

4.4.2 靜態常量

靜態常量的使用比較常見,如:

public class math

在程式中,可以採用math.pi的形式獲得這個常量。

如果關鍵字static被省略,pi就變成了math類的乙個例項域。需要通過math類的物件訪問pi,並且每乙個math物件都有它自己的乙份pi拷貝。

4.4.3 靜態方法

靜態方法是一種不能向物件實施操作的方法。例如,math類的pow方法就是乙個靜態方法。

math.pow(x, a)

用來計算冪函式,在運算的時候,不適用任何math物件,即沒有隱式的引數。

可以認為靜態方法是沒有this引數的方法(在非靜態方法中,this引數表示這個方法的隱式引數)

因為靜態方法不能操作物件,所以不能在靜態方法中訪問例項域,但是靜態方法可以訪問自身的靜態域。

Java 靜態域與靜態方法

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

Java靜態域與靜態方法 筆記

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

靜態域 靜態變數 靜態方法

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