成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

小結(jié)ASP.NET中static關(guān)鍵字的相關(guān)用法

開發(fā) 后端
本文將介紹ASP.NET中static關(guān)鍵字用法,可以說static關(guān)鍵字是大家應(yīng)用得最多的類型,希望本文能對大家有所幫助。

大家對于static關(guān)鍵字應(yīng)該比較眼熟了,但是很多人對static關(guān)鍵字不理解,這其實就是對于auto的不理解。static關(guān)鍵字不是auto,變量在程序初始化時被分配,直到程序退出前才被釋放。

靜態(tài)變量

當(dāng)我們編寫一個類時,其實就是在描述其對象的屬性和行為,而并沒有產(chǎn)生實質(zhì)上的對象,只有通過new關(guān)鍵字才會產(chǎn)生出對象,這時系統(tǒng)才會分配內(nèi)存空間給對象,其方法才可以供外部調(diào)用。

有時候,我們希望無論是否產(chǎn)生了對象或無論產(chǎn)生了多少對象的情況下,某些特定的數(shù)據(jù)在內(nèi)存空間里只有一份,例如所有的中國人都有國家名稱,每一個中國人都共享這個國家名稱,不必在每一個中國人的實例對象中都單獨分配一個用于代碼國家名稱的變量。例子:

  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3. //直接使用“類名.成員”的格式,不能使用“對象名.成員”的格式,這點與JAVA不一樣,JAVA兩種都可以使用  
  4. Response.Write(Chinese.Country);   
  5. }  
  6.  
  7.  class Chinese  
  8.  {  
  9. public static string Country = "中國";  
  10. public void getCountry()  
  11. {  
  12. //類中的成員方法也可以直接訪問靜態(tài)成員變量  
  13. HttpContext.Current.Response.Write("你好!" + Country);  
  14. }  

需要注意的是:不能把任何方法體內(nèi)的變量聲明為靜態(tài),如下面這樣是不行的:

  1. public void getCountry()  
  2. {  
  3. //類中的成員方法也可以直接訪問靜態(tài)成員變量  
  4. HttpContext.Current.Response.Write("你好!" + Country);  
  5. static int i = 1;  

靜態(tài)方法

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

  1. protected void Page_Load(object sender, EventArgs e)  
  2. {   
  3. Chinese.getCountry();  
  4. }  
  5.  
  6.  class Chinese  
  7.  {  
  8. public static void getCountry()  
  9. {  
  10. HttpContext.Current.Response.Write("你好!中國");  
  11. }  

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

const和static readonly的確很像:通過類名而不是對象名進行訪問,在程序中只讀等等。在多數(shù)情況下可以混用。
二者本質(zhì)的區(qū)別在于,const的值是在編譯期間確定的,因此只能在聲明時通過常量表達(dá)式指定其值。而static readonly是在運行時計算出其值的,所以還可以通過靜態(tài)構(gòu)造函數(shù)來賦值。

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

  1. int a;   
  2. string s;  

其實就是:

  1. auto int a;   
  2. auto string s;  

而static變量的聲明是:

  1. static int a;   
  2. static string s;  

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

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

【編輯推薦】

  1. 點評一下ASP.NET的WEB控件
  2. ASP.NET控件學(xué)習(xí)總結(jié)
  3. ASP.NET前臺控件點評:避免強迫癥,奔向簡潔高效
  4. ASP.NET 2.0環(huán)境下的Shell函數(shù)
  5. 在ASP.NET 2.0中向數(shù)據(jù)庫批量插入數(shù)據(jù)
責(zé)任編輯:彭凡 來源: CSDN
相關(guān)推薦

2009-07-24 12:14:17

asp.net技巧

2011-07-14 23:14:42

C++static

2022-02-17 08:31:38

C語言staic關(guān)鍵字

2021-02-01 13:10:07

Staticc語言UNIX系統(tǒng)

2010-01-15 15:45:10

VB.NET New關(guān)

2024-04-08 11:35:34

C++static關(guān)鍵字

2009-07-30 08:49:58

ASP.NET中usi

2009-07-29 16:53:52

ASP.NET Get

2009-06-25 10:33:53

StaticJava類

2020-12-09 05:19:35

static關(guān)鍵字Java

2011-04-21 16:57:56

staticextern

2009-12-17 13:57:15

Ruby關(guān)鍵字

2024-12-26 00:28:59

C#base?關(guān)鍵字

2023-03-09 07:38:58

static關(guān)鍵字狀態(tài)

2025-04-22 08:16:37

refC#參數(shù)

2009-08-03 13:30:47

ASP.NET開發(fā)

2010-02-02 14:27:54

C++ static關(guān)

2009-07-24 10:10:22

ASP.NET

2009-07-24 16:17:42

WebRequestEASP.NET

2022-05-06 08:32:40

Pythonwith代碼
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: av男人天堂影院 | 91大神xh98xh系列全部 | 久久精品99| 国产福利91精品一区二区三区 | 国产精品久久久久久福利一牛影视 | 日韩福利视频 | 欧美日韩国产三级 | 久久久久一区二区 | 欧美日韩国产高清视频 | 一区二区在线不卡 | 午夜黄色影院 | 欧美日韩一区二区三区视频 | 在线视频亚洲 | 亚洲一区视频在线 | 久久精品在线播放 | 成人不卡视频 | 国产精品一区二区三区免费观看 | 国产精品免费一区二区 | 伊人久久精品一区二区三区 | 91视频网址 | 国产成人精品久久二区二区91 | 国产美女在线观看 | 久草免费电影 | 97av视频在线 | 欧美日韩在线精品 | 国产精品日日摸夜夜添夜夜av | 日韩精品成人一区二区三区视频 | 日韩一二区 | 国产精品久久在线观看 | 国产91一区 | 亚洲欧美一区二区三区1000 | 国产免费看 | 欧美日韩黄色一级片 | 91精品欧美久久久久久久 | 1区2区视频 | 波多野结衣先锋影音 | 欧美一级精品片在线看 | 国产一区二区在线免费观看 | 国产91av视频在线观看 | 国产一区二区在线免费播放 | 福利网站在线观看 |