C#的修飾符:static
創(chuàng)新互聯(lián)建站長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西和企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),西和網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。聲明屬于類型本生而不屬于實(shí)體對(duì)象的成員。
一、非靜態(tài)類
1、非靜態(tài)類可以包含靜態(tài)的方法、字段、屬性或事件。 靜態(tài)的類成員屬于類級(jí)別的,不屬于類的任何實(shí)例,類外不可以通過類的實(shí)體對(duì)象來調(diào)用靜態(tài)變量,要用類名來調(diào)用,(如現(xiàn)在有一個(gè)Student 類,這個(gè)類里有一個(gè)static string name,當(dāng)其他類需要調(diào)它的時(shí)候就要用Student.name);無論對(duì)一個(gè)類創(chuàng)建多少個(gè)實(shí)例,它的靜態(tài)成員都只有一個(gè)副本,類里的所有成員都可以訪問它,可以改變它的值。 靜態(tài)方法和屬性不能訪問其包含類型中的非靜態(tài)字段和事件,并且不能訪問任何對(duì)象的實(shí)例變量(除非在方法參數(shù)中顯式傳遞)。
靜態(tài)字段有兩個(gè)常見的用法:一是記錄已實(shí)例化對(duì)象的個(gè)數(shù);二是存儲(chǔ)必須在所有實(shí)例之間共享的值。
靜態(tài)方法可以被重載但不能被重寫,因?yàn)樗鼈儗儆陬?,不屬于類的任何?shí)例。
2、靜態(tài)成員在第一次被訪問之前并且在調(diào)用靜態(tài)構(gòu)造函數(shù)(如有存在)之前進(jìn)行初始化。 靜態(tài)構(gòu)造函數(shù)用于初始化任何 靜態(tài) 數(shù)據(jù),或用于執(zhí)行僅需執(zhí)行一次的特定操作。 在創(chuàng)建第一個(gè)實(shí)例或引用任何靜態(tài)成員之前,將自動(dòng)調(diào)用靜態(tài)構(gòu)造函數(shù)。
public class Students
{
//定義靜態(tài)變量
public staic int Num;
//靜態(tài)構(gòu)造函數(shù)
static Students()
{
Num = 30;
}
}
3、靜態(tài)構(gòu)造函數(shù)具有以下特點(diǎn):
靜態(tài)構(gòu)造函數(shù)既沒有訪問修飾符,也沒有參數(shù)。用于對(duì)靜態(tài)字段、只讀字段等的初始化。
在創(chuàng)建第一個(gè)實(shí)例或引用任何靜態(tài)成員之前,將自動(dòng)調(diào)用靜態(tài)構(gòu)造函數(shù)來初始化類。類的靜態(tài)構(gòu)造函數(shù)在給定應(yīng)用程序域中至多執(zhí)行一次。
靜態(tài)構(gòu)造函數(shù)是不可繼承的,而且不能被直接調(diào)用。
在程序中,用戶無法控制何時(shí)執(zhí)行靜態(tài)構(gòu)造函數(shù)。
如果沒有編寫靜態(tài)構(gòu)造函數(shù),而這時(shí)類中包含帶有初始值設(shè)定的靜態(tài)字段,那么編譯器會(huì)自動(dòng)生成默認(rèn)的靜態(tài)構(gòu)造函數(shù)。
4、靜態(tài)變量的幾點(diǎn)說明:
(1)靜態(tài)方法和靜態(tài)數(shù)據(jù)成員相當(dāng)于共享變量,只有“一份”,為該類的所有對(duì)象所共有,因而在需要共享數(shù)據(jù)時(shí),定義這種類型時(shí)很好的選擇。 一但定義一個(gè)類后(不一定要實(shí)例化對(duì)象)該類的所有靜態(tài)成員就載入內(nèi)存(并不是程序啟動(dòng),就裝入內(nèi)存,沒有定義該類時(shí)它不會(huì)載入內(nèi)存) 靜態(tài)成員的作用域與它所屬的類的作用域相同。
(2)方法內(nèi)部的靜態(tài)變量,執(zhí)行完靜態(tài)變量值不消失,再次執(zhí)行此對(duì)象的方法時(shí),值仍存在,它不是在棧中分配的,是在靜態(tài)區(qū)分析的,(共有兩種變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū):全局變量和static變量)這是與局部變量大的區(qū)別。
(3)由于靜態(tài)成員函數(shù)存在于類一級(jí),并且不是對(duì)象的一部分,因此沒有 this 指針。在靜態(tài)方法中引用 this 是錯(cuò)誤的。
二、靜態(tài)類:
聲明為static,它僅包含靜態(tài)成員,不能用new靜態(tài)類的實(shí)例。使用靜態(tài)類來包含不與特定對(duì)象關(guān)聯(lián)的方法。
功能:僅包含靜態(tài)成員,不能被實(shí)例化,是密封的,不能包含實(shí)例構(gòu)造函數(shù),可包含靜態(tài)構(gòu)造函數(shù)以分配初始值或設(shè)置某個(gè)靜態(tài)變量。
優(yōu)點(diǎn):編譯器能夠執(zhí)行檢查以確保不致偶然地添加勢(shì)力成員。編譯器將保證不會(huì)創(chuàng)建此類的實(shí)例。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱:寫給初學(xué)者之訪問控制符static-創(chuàng)新互聯(lián)
URL地址:http://muchs.cn/article46/ceodeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、Google、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站制作、域名注冊(cè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容