Static 靜態與非靜態的區別

2021-06-28 23:52:24 字數 491 閱讀 6955

static

解釋 :用static關鍵字修飾的靜態類或者靜態變數主要的乙個優點是寫在棧中的,在記憶體中占有實際位置,可以安全穩定的快速呼叫,因此常用static修飾那些需要頻繁呼叫的函式或變數,以此提高程式的執行效率,

比如c#中的program程式,

namespace 窗體

}}

用static修飾的靜態類是佔記憶體的,其中的方法是可以直接呼叫的,所以不用也不能用new再去例項化,因為可以直接呼叫不用每次都例項化,所以就節省了很多系統資源,提高了執行效率。

注意:1,靜態類中僅含靜態成員,不能有任何非靜態成員;

2,它們不能被例項化;

3,它們不能包含例項建構函式;

4,靜態類的成員不能有protected或protected internal訪問保護修飾符,修飾符只能是static

5,最後一定需要注意的是由於static是佔記憶體的,所以程式中應包含盡量少的static

靜態與非靜態的區別

1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...

靜態與非靜態的區別

1.靜態成員優先於物件存在,所以靜態方法不能呼叫非靜態成員,非靜態方法能呼叫靜態與非靜態成員。2.靜態成員屬於類,被物件所共享,可被類和物件直接呼叫,非靜態只屬於當前物件,只能被類的物件呼叫。3.載入時間不同 靜態成員隨類的載入而載入,非靜態只能在物件愛那個被建立後才能載入。4.記憶體儲存區域不同 ...

靜態與非靜態的區別

1.靜態類與非靜態類 靜態類中只能包含靜態成員和靜態方法,否則會丟擲編譯錯誤 而非靜態類中可以包含非靜態成員和非靜態方法,也可以包含 靜態成員和靜態方法 靜態類不可以例項化 非靜態類可以例項化。不管是靜態類還是 非靜態類,對於靜態成員和靜態方法的呼叫都必須通過類來實現 如果乙個類只包含靜態成員和靜態...