1. static關(guān)鍵字修飾:類、方法、屬性、構(gòu)造函數(shù)、字段等。
2. static 中文意思就是 靜態(tài)的,靜態(tài)的就是說它不會動,不會動的意思就是說它不會變化變話,不會變化的意思就是說,它在所有實例化的對象中都是一樣的。它不會隨著實例化的對象不同而不同。都共享它。都可以操作或者改變它。
3. 靜態(tài)標(biāo)記,可以一直記錄變量的值,一直到下次賦值時。
4. 實際上在.net中“類型”其實也是一個對象!在第一次實例化某類型的對象之前,首先實例化類型對象。而static的變量就在類型對象中,而不在對象中。盡管,你編寫代碼時感覺static聲明的變量跟對象范圍的變量(以及屬性)都寫在一起,實際上它們不在一起。
5.靜態(tài)方法用得比較多,F(xiàn)ile和Directories類下很多都是靜態(tài)方法,好處就是不用實例化類。
6. 靜態(tài)類 可以制定一個靜態(tài)構(gòu)造方法來構(gòu)造他. 并且 他不需要聲明 直接可以使用
靜態(tài)類的靜態(tài)方法和屬性也是直接可以類名.方法名(參數(shù)) 來訪問.
靜態(tài)方法 初學(xué)者可能會考慮靜態(tài)方法在多線程調(diào)用中是否會產(chǎn)生沖突. 在這里說明一下.靜態(tài)方法雖然是靜態(tài)的,但是每一個線程在同一時間訪問的靜態(tài)方法都是不同的.如果在靜態(tài)方法中沒有用到靜態(tài)屬性是不會產(chǎn)生沖突的.
靜態(tài)屬性 這個和靜態(tài)方法是相反的.不同線程下訪問的靜態(tài)屬性總是同一屬性,如果某一線程更改了屬性值,那么將造成其他線程訪問靜態(tài)屬性值的錯誤. 方法中訪問同一靜態(tài)屬性 需要使用lock關(guān)鍵字,或者創(chuàng)建互斥體對象來保持靜態(tài)屬性在同一時間只能被某一對象的屬性或者方法訪問。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。