C 學習入門(六) 靜態類和密封類

2021-10-10 11:39:32 字數 2284 閱讀 4545

1.3 靜態方法

1.4 靜態成員關鍵

1.5 靜態方法與例項方法區別

1.4 靜態類

2. 密封類

靜態成員又叫類成員,是指在成員型別或返回值型別前使用static關鍵字修飾的變數或方法。在c#中,能夠宣告為靜態成員的類成員包含靜態成員、靜態屬性、靜態方法、建構函式、運算子、事件等類成員。常量和索引器不能宣告為靜態成員。

訪問修飾符 static 資料型別 欄位名 = 初始值;

public

class

student

//(1)類內訪問

public

class

student

}//(2)類外訪問:類名.欄位名

student.count =

0;

訪問修飾符 static 返回型別 方法名(引數列表)

public

class

student

}

//(1)類內訪問

public

class

student

public

static

void

show()

",get())

;}}//(2)類外訪問:類名.靜態方法名(引數列表)

int result = student.

get(

);

(1)用static修飾的方法為靜態方法,反之則是例項方法(非靜態方法)

(2)靜態方法不需要類例項化就可以呼叫,例項方法需要類例項化才可以呼叫。

(3)靜態方法只能直接訪問本類中的靜態成員,不能直接訪問本類的的例項成員。例項方法既可以直接訪問本類的靜態成員,也可以直接訪問本類的例項成員。(例項方法可以呼叫靜態方法,靜態方法不能呼叫例項方法)

(4)靜態方法不能被子類重寫,也不能實現多型

(5)靜態成員是在第一次使用時進行初始化,例項成員是在建立物件時初始化。

(6)靜態成員不能自動進行銷毀記憶體,而例項化的物件不再使用時,clr會自動清除這些物件所佔的記憶體。在程式設計中盡量不要使用靜態成員。

(7)當不需要訪問某個例項的成員變數,可把該方法設為靜態方法。反之設為例項方法。

訪問修飾符 static class 類名 : 基類或介面

在宣告類時使用static則宣告該類是靜態類,靜態類中僅包含靜態成員。 對於靜態類,不能使用new關鍵字建立靜態類的例項。

靜態類在載入包含該類的程式或命名空間時由.net framework公共語言執行庫(clr)自動載入。

//類名.成員名
訪問靜態類成員的方法與訪問非靜態類中靜態成員的方法相同。

靜態類不建立物件,主要用於工具類,全域性變數。

靜態建構函式用來初始化靜態變數。

static 類名()

class

student

public

static

intget()

public

static

void

show()

",get())

;}}

關鍵:

1.靜態建構函式無訪問修飾符,無引數,無返回型別,只有乙個static關鍵字。

2.乙個類只能有乙個靜態建構函式。

3.非靜態類也可以靜態建構函式,可以與無參的例項建構函式共存。

4.不可顯式呼叫靜態建構函式,當建立第乙個例項或引用靜態成員之前,自動呼叫靜態建構函式來初始化類,並且只執行一次。

5.定義靜態成員初始化,同時在靜態建構函式進行初始化,則以靜態建構函式為主。

6.靜態建構函式不可被繼承。

訪問修飾符 sealed class 類名 : 基類或介面

在類的定義中使用sealed關鍵字宣告的類稱為密封類,密封類不能作為基類和派生類,也不能是抽象類。

訪問修飾符 sealed

override 方法名稱(引數列表)

密封方法會重寫基類中的virtual方法,但其本身不能在任何派生類中進一步重寫,如果例項方法宣告包含sealed修飾符,則它必須包含override修飾符

Kotlin資料類和密封類(六)

編譯器會自動從主建構函式中根據所有宣告的屬性提取一下函式 equals hashcode tostring 格式如 muser name john,age 42 componentn functions 對應於屬性,按宣告順序排列 copy 函式 如果這些函式在類中已經被明確定義了,或者從超類中繼承...

C 學習 密封類

密封類和方法對繼承和多型進行限制。在希望別人不能改變 又希望自己使用時,可以在 中使用密封的類和方法 使用sealed關鍵字來表示類或方法為密封 using system using system.collections.generic using system.linq using system....

C 密封類和密封方法總結

前言 密封類可以用來限制擴充套件性,如果密封了某個類,則其他類不能從該類繼承 如果密封了某個方法,則派生類不能重寫該方法的實現。由此可以,密封類與密封方法在我們c 程式設計中的重要性!下來,讓我們開始學習!二 示例講解 三 補充知識 四 用途總結 有些時候,我們並不希望所編寫的類被繼承,如果所有的類...