程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#關鍵字static作用講解

C#關鍵字static作用講解

編輯:C#基礎知識

static意思是靜態,可以修飾類、字段、屬性、方法

標記為static的就不用創建實例對象調用了,可以通過類名直接點出來

static三種用法:

1.用於變量前,表示每次重新使用該變量所在方法、類或自定義類時,變量的值為程序這次運行最後一次為變量賦值時的值,這個方法稱為靜態函數:

private void s()

{

static int a=1;

a++;

}

方法第一次調用結束後a在內存內值為2;

方法第一次調用結束後a在內存內值為3;

 

2.在方法(函數)前用static修飾,表示此方法為所在類或所在自定義類所有,而不是這個類的實例所有,這個方法稱為靜態方法:

情況一:非靜態方法:

class t

{

t(....(參數,下面同))

{

~~~~(方法內容,下面同)

}

void s(....)

{

~~~~

}

}

當你在其他方法裡調用這個類中的方法s,則需先聲明這個類的變量如:t sd = new t(....);

再在t裡調用方法:sd.s(....);

情況2:靜態方法:

class t

{

t(....(參數,下面同))

{

~~~~(方法內容,下面同)

}

static void s(....)

{

~~~~

}

}

當你在其他方法裡調用這個類中的方法s,則不用先聲明這個類的變量如直接調用方法:t.s(....);

 

3.用於class前,說明此類型無法新建實例,簡單點說這個類型的方法全是靜態方法,這個類裡的非靜態方法是不能使用的,這個類型稱為靜態類.

比如C#控制台操作的Cancle類裡面的成員就被標記為靜態的,可以直接用Concle.直接點出來使用。

如果沒有標記為靜態就要通過創建實例對象來調用,比如說動態字符串StringBuilder就要new一個實例來調用

StringBuilder sb =new StringBuilder();

sb.xxx(); //xxx是方法名

 

 

static class t

{

~~~~

}

~~~~

class d

{

~~~~

void f(....)

{

~~~~

t v = new t();//此時程序會出現錯誤

}

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved