生活中的悄悄話
情感交流 學習交流 美食交流 娛樂交流
shujia
暱稱: shujia
性別: 女
國家: 台灣
地區: 其他地區
« July 2026 »
SMTWTFS
1234
567891011
12131415161718
19202122232425
262728293031
最新文章
注意力不集中-注意力不...
床墊-床墊15年了
抓漏-隔熱保溫塗料讓鋼...
大台中派報-報社志願者...
仙飄蘊眉-醫學美容後的...
文章分類
全部 (532)
寵物花草 (1)
醫療保健 (17)
工業機械與家電 (15)
生活資訊 (183)
投資理財 (26)
汽車 (6)
花店資訊 (13)
服飾批發 (13)
服飾批發 (9)
美食 (19)
美容整形 (26)
家政服務 (31)
旅行住宿 (15)
婚慶文化 (12)
教育學習 (17)
買房與租房 (8)
搜尋行銷 (76)
經濟金融 (15)
電腦網絡 (12)
徵信與徵信社 (13)
未分類 (5)
訪客留言
最近三個月尚無任何留言
每月文章
日誌訂閱
尚未訂閱任何日誌
好友名單
尚無任何好友
最近訪客
最近沒有訪客
日誌統計
文章總數: 532
留言總數: 3
今日人氣: 11
累積人氣: 9533
站內搜尋
RSS 訂閱
RSS Feed
推薦
蜂蜜 隱形鐵窗 花蓮民宿 日月潭民宿推薦 日月潭民宿 空壓機 助聽器
自訂欄位(二)
尚無任何內容
2009 年 9 月 9 日  星期三   晴天


ASP.NET中static關鍵字用法小結 分類: 電腦網絡

ASP.NET中static關鍵字用法小結
大家對於static關鍵字應該比較眼熟了,但是很多人對static關鍵字不理解,這其實就是對於auto的不理解。 static關鍵字不是auto,變量在程序初始化時被分配,直到程序退出前才被釋放。

靜態變量
我們有時也希望不必創建對象就可以調用某個方法,關鍵字排名換句話說也就是使該方法不必和對象綁定在一起。要實現這樣的效果,只需要在類中定義的方法前加上static關鍵字就可以了,我們稱這種方法為靜態成員方法,還可以在類的非靜態成員方法中像訪問其他靜態方法一樣去訪問這個靜態方法,例子:

注意:在靜態方法裡只能直接調用同類中其他的靜態成員(包括變量和方法),而不能直接訪問類中的非靜態成員。這是因為,對於非靜態的方法和變量,需要先創建類的實例對像後才可以使用,而靜態方法在使用前不用創建任何對象。

當我們編寫一個類時,其實就是在描述其對象的屬性和行為,而並沒有產生實質上的對象,關鍵字廣告只有通過new關鍵字才會產生出對象,這時系統才會分配內存空間給對象,其方法才可以供外部調用。

有時候,我們希望無論是否產生了對像或無論產生了多少對象的情況下,某些特定的數據在內存空間裡只有一份,例如所有的中國人都有國家名稱,每一個中國人都共享這個國家名稱,不必在每一個中國人的實例對像中都單獨分配一個用於代碼國家名稱的變量。
靜態方法

const和static readonly的確很像:通過類名而不是對象名進行訪問,關鍵字排名在程序中只讀等等。在多數情況下可以混用。
二者本質的區別在於,const的值是在編譯期間確定的,因此只能在聲明時通過常量表達式指定其值。而static readonly是在運行時計算出其值的,所以還可以通過靜態構造函數來賦值。

要理解static,關鍵字廣告就必須要先理解另一個與之相對的關鍵字,很多人可能都還不知道有這個關鍵字,那就是auto,其實我們通常聲明的不用static修飾的變量,都是auto的,因為它是默認的,就像short和long總是默認為int一樣;我們通常聲明一個變量:

這樣似乎可以更有利於理解auto和static是一對成對的關鍵字吧,就像private,protected,public一樣;

對於static關鍵字的不理解,其實就是對於auto的不理解,因為它是更一般的;關鍵字廣告有的東西你天天在用,但未必就代表你真正了解它;auto的含義是由程序自動控制變量的生存週期,通常指的就是變量在進入其作用域的時候被分配,離開其作用域的時候被釋放;而static就是不auto,變量在程序初始化時被分配,直到程序退出前才被釋放;也就是static是按照程序的生命週期來分配釋放變量的,而不是變量自己的生命週期
 






訪客留言 (返回 shujia 的日誌)

訪客名稱:
電郵地址: (不會公開)
驗證碼:  按此更新驗證碼 (如看不清楚驗證碼請點擊圖片刷新)
俏俏話: (必需 登入 後才能使用此功能)
[ 開啟多功能編輯器 ]