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 程式設計中的重要性!下來,讓我們開始學習!二 示例講解 三 補充知識 四 用途總結 有些時候,我們並不希望所編寫的類被繼承,如果所有的類...