靜態字段 靜態函式 成員常量

2022-05-06 17:36:13 字數 987 閱讀 8863

靜態字段:

□ 靜態欄位被類的所有例項共享,所有的例項都訪問同一記憶體塊。因此,如果該記憶體塊的值被乙個例項修改了,這種改變對所有例項是可見的。

□ 訪問靜態變數通過類名.欄位名訪問

□ 即使類沒有例項任何物件,也存在靜態字段。如果靜態欄位有初始化語句,不必要在程式執行之前就賦初始值,可以在使用該字段前再賦值(這點與const常量不一樣,const常量是宣告就賦值)

例如:

class

program

}class

myclass

set

}public

void

printnum()

}

輸出是:

0 0 10 10 20 20(打豎)

tip:靜態字段可以被例項改變值,但是不能通過例項.靜態欄位名來改變,但可以通過例項內部呼叫的函式改變值(如屬性)。因為靜態欄位是類的共有字段,不能被例項化成例項物件的字段。

靜態函式

□ 如同靜態字段,即使類沒有例項化物件,也可以呼叫靜態函式,呼叫方法同樣是:類名.靜態函式名

□ 靜態函式不能訪問例項成員。它可以訪問其他靜態成員。

可以宣告為靜態的類成員型別:

資料成員(儲存資料):字段、型別

函式成員(執行**):方法、屬性、建構函式、運算子、事件

成員常量

□  所謂成員常量而非常量,是因為c#不像c和c++擁有全域性常量,每個常量都必須宣告在類裡面,只能是類的成員。

□  成員常量表現的像靜態量一樣,但是不能被static關鍵字修飾。與真正的靜態量不同,常量沒有自己的儲存位置,而是在編譯時被編譯器替換。

例如:

class

program

}class

myclass

輸出:20

在使用常量同樣是函式名.常量名

C 靜態成員 靜態資料成員和靜態函式成員

由關鍵字static修飾說明的類成員,成為靜態類成員 static class member 包括 靜態資料成員和靜態函式成員。類的靜態成員為其所有物件共享,不管有多少物件,靜態成員只有乙份存於公用記憶體中。雖然使用static修飾說明,但與函式中的靜態變數有明顯差異。在類定義中,用關鍵字stati...

C 靜態資料成員初始化及靜態函式成員

1.定義靜態資料成員後要對靜態資料成員進行初始化!靜態資料成員的初始化 資料型別 類名 靜態資料成員 值 2.靜態資料成員往往數私有的,靜態資料成員不能直接訪問,要通過定義為公有的靜態函式成員來訪問靜態資料成員。3.靜態函式成員介面實現時在前面不加 static 字首。4.靜態函式成員,不能直接訪問...

多型中函式 成員 靜態函式的特點

在多型中成員函式的特點 在編譯時期 參閱引用型變數所屬的類中是否有呼叫的方法。如果有,編譯通過,如果沒有,編譯失敗。在執行時期 參閱物件所屬的類中是否有呼叫的方法。簡單總結就是 成員函式在多型呼叫時,編譯看左邊,執行看右邊。class fu void method2 class zi extends...