C 十九 靜態

2021-08-31 06:44:30 字數 882 閱讀 8755

關鍵字:static

在類中可以定義為靜態的成員有:字段,方法,屬性,運算子,事件,建構函式等,不可以是索引器,析構函式。

靜態成員與非靜態成員/例項成員區別:

1、

靜態成員屬於類所有,為各個類的例項所公用。

非靜態成員屬於類的例項所有。

2、靜態成員可以直接使用,不必建立物件,語法格式:類名.靜態成員;

呼叫非靜態成員,要先例項化類。

3、靜態方法與非靜態方法

靜態方法只能訪問類中的靜態成員;

非靜態方法可以訪問類中的任何成員

4、靜態成員變數儲存位於程式的全域性變數儲存區,其作用域限制為類內部,並且在整個程式執行期間只在記憶體中擁有乙個儲存位置,不會拷貝不會複製,只是乙個;

非靜態成員變數儲存位於物件的變數儲存區,多個物件擁有多個變數的儲存,只隸屬於自己的的物件。

5、靜態成員只要分配了空間則在整個程式執行期間,它都是存在的,只有程式關閉之後,它的記憶體才會被gc**器收回;

類的非靜態成員的生存週期跟隨於隸屬於物件的生存週期,物件消亡則非靜態成員就會被**。

靜態類與非靜態類區別:

1、

靜態類僅包含靜態成員。

2、靜態類不能使用 new 關鍵字建立靜態類的例項。

3、靜態類不能包含例項建構函式,但仍可宣告靜態建構函式以分配初始值或設定某個靜態狀態。

4、靜態類是密封的,因此不可被繼承。

5、靜態類不能使用abstract或sealed修飾符。

6、靜態類不能指定任何介面實現。

7、靜態類的成員不能有protected或protected internal訪問保護修飾符。

(五十九)自動儲存 靜態儲存 動態儲存

自動儲存 函式內部定義的常規變數,被稱為自動變數,這意味著他們在所屬的函式被呼叫的時候自動產生,在該函式結束時消亡。自動變數是乙個區域性變數,作用域為包含他的 塊,比如int main 中定義的int a 在int abc 這個函式中就不能用。自動變數通常儲存在 棧 中,這意味著執行 塊時,其中的變...

C語言程式設計(十九)12 19

指標 1 定義 基型別 指標變數名 2 賦值 int a int pa a int a,pa a int p2 p2 a 兩個運算子 取位址,後面運算元必須是變數 指標運算子,後面的運算元必須是指標 int a 3 int pa a a 正確,表示a的位址 pa 正確,表示pa的位址 a 不對 pa...

C 基礎 多執行緒 十九

單執行緒 只有乙個執行緒 主線程 弊端,乙個時間只能呼叫乙個函式方法,如果正在列印時候去關閉程式,會關閉不了,出現假死現象 執行緒分為前台執行緒和後台執行緒 預設建立的都是前台執行緒 前台執行緒 只有多有的前台執行緒都關閉了才能完成程式的關閉 後台執行緒 只要所有的前台執行緒結束,後台執行緒自動結束...