C#靜態(tài)方法概念解析實(shí)例
C#靜態(tài)方法是一種特殊的成員方法,它不屬于類的某一個(gè)具體的實(shí)例。非靜態(tài)方法可以訪問類中的任何成員,而靜態(tài)只能訪問類中的靜態(tài)成員。那么對(duì)于C#靜態(tài)方法的這種特性我們是如何把握的呢?讓我們來看看一個(gè)簡(jiǎn)單的C#靜態(tài)方法應(yīng)用實(shí)例:
C#靜態(tài)方法實(shí)例演示:
- class A
- {
- int x;
- static int y;
- static int F(){
- x=1; //錯(cuò)誤,不允許訪問
- y=2; //正確,允許訪問
- }
C#靜態(tài)方法應(yīng)用實(shí)例分析:
1、在這個(gè)類定義中,C#靜態(tài)方法F()可以訪問類中靜態(tài)成員y,但不能訪問非靜態(tài)成員x。
2、x作為非靜態(tài)成員,在類的每個(gè)實(shí)例中都占有一個(gè)存儲(chǔ)(或者說具有一個(gè)副本),而靜態(tài)方法是類所共享的,它無法判斷出當(dāng)前的x是屬于哪個(gè)類的實(shí)例,所以不知道應(yīng)該到內(nèi)存的哪個(gè)地址去讀取當(dāng)前x的值。
3、y是靜態(tài)成員,所有類的實(shí)例都公用一個(gè)副本,靜態(tài)方法F使用它就不存在什么問題。
C#靜態(tài)方法的實(shí)例解析就向你介紹到這里,希望通過本實(shí)例解釋使你對(duì)C#靜態(tài)方法有所了解。
【編輯推薦】