靜態方法怎麼呼叫
C++中,若類的方法前加了static關鍵字,則該方法稱為靜態方法,反之為例項方法。那麼,?
C#的類中可以包含兩種方法:靜態方法和非靜態方法。
使用了static 修飾符的方法為靜態方法,反之則是非靜態方法。
靜態方法是一種 特殊的成員方法,它不屬於類的某一個具體的例項,而是屬於類本身。
所以對靜態方法不需要 首先建立一個類的例項,而是採用類名.靜態方法的格式 。
1.static方法是類中的一個成員方法,屬於整個類,即不用建立任何物件也可以直接呼叫!
static內部只能出現static變數和其他static方法!而且static方法中還不能使用this....等關鍵字..因為它是 屬於整個類!
2.靜態方法效率上要比例項化高,靜態方法的缺點是不自動進行銷燬,而例項化的則可以做銷燬。
3.靜態方法和靜態變數建立後始終使用同一塊記憶體,而使用例項的方式會建立多個記憶體.
4.C#中的方法有兩種:例項方法,靜態方法. 類的方法程式碼只有一份,它們的生命週期和類是一致的.例項方法是通過物件名呼叫的,靜態方法與類關聯而不是 與物件名關聯.
5.那麼在程式中什麼地方可以利用靜態欄位和靜態構造方法,通常適用於於一些不會經常變化而又頻繁使用的數 據,比如連線字串,配置資訊等,當滿足上面所 說的兩點時,進行一次讀取,以後就可以方便的使用了,同 時也節約了託管資源,因為對於靜態成員,一個靜態欄位只標識一個儲存位置。
對一個類無論建立了多少 個實 例,它的靜態欄位永遠都只有一個副本***副本我理解為只有一塊記憶體 靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員..因為靜態成員 存在於記憶體,所以非靜態成員可以直接訪問類中靜態的成員.
公用的處理函式,使用靜態方法應該沒有問題..牽涉 到資料共享,靜態變數的函式要多考慮...靜態變數要小心使用..
靜態方法 原理就是共享程式碼段 共享程式碼段不會產生任何問題 因為程式碼段都是給CPU作為"讀取"用的,除非你進行惡意"修改"執行時的程式碼段 所以靜態方法是可以放心使用的
靜態變數 原理就是共享資料段 同上 只要沒有進行"寫入"操作就不會產生問題 但是資料通常都是用於讀和寫 所以靜態變數要注意使用
下面是一個使用靜態方法的例子
複製程式碼程式碼如下:
class Class1 {
[STAThread]
static void Main***string[] args***
{
int i = MyClass.Add***3,5***; //呼叫靜態方法
Console.WriteLine***i***;
}
}
class MyClass
{
public static int Add***int x,int y ***
{ return x + y ;
}
精華素使用方法是什麼