c#靜態方法和例項方法的幾種用法
見如下**:這三種形式我們應該都用過。
public class someclass
; public static void staticmethod() {};
}public class anotherclass
}
這幾種方式在呼叫時間,還有執行緒安全,物件導向的程式設計方面都有差別。後文會談到。
"靜態方法是常駐記憶體"
圖1"靜態方法比例項方法先裝載"
何時用靜態方法,何時用例項方法
先說例項方法,當你給乙個類寫乙個方法,如果該方法需要訪問某個例項的成員變數時,那麼就將該方法定義成例項方法。一類的例項通常有一些成員變數,其中含有該例項的狀態資訊。而該方法需要改變這些狀態。那麼該方法需要宣告成例項方法。
靜態方法正好相反,它不需要訪問某個例項的成員變數,它不需要去改變某個例項的狀態。我們把該方法定義成靜態方法。
第一種方式, 宣告例項,呼叫例項方法
當乙個類有多個例項,例如學生這個類,例項可以有學生甲,學生乙,學生丙,等等,我們就用第一種方式。在多執行緒的情況下,只要每個執行緒都建立自己的例項,那麼第一種方法通常是執行緒安全的。
第二種方式,通過乙個靜態的例項,去呼叫例項方法
這種情況比較特殊,通常是整個程式裡該類唯一的乙個例項,我們通過呼叫該例項的例項方法來改變該例項的某些狀態。這乙個例項在多執行緒的情況下,通常是執行緒不安全的。除非我們給這個例項加鎖。防止其他執行緒訪問該例項。
第三種方式,直接呼叫靜態方法
這種情況下靜態方法不需要去改變某個例項的狀態。只要得到少量的引數就可完成既定事情。比如判斷乙個檔案是否存在,只要給個檔案路徑和檔名,就能知道該檔案是否存在。
學識有限,敬請您指教。
關於c 靜態方法和例項方法的辨析和應用
public class someclass 02 06 public static staticmethod 07 08 09 public class anotherclass 10 23 何時用靜態方法,何時用例項方法 先說例項方法,當你給乙個類寫乙個方法,如果該方法需要訪問某個例項的成員變數...
關於c 靜態方法和例項方法的辨析和應用
c 靜態方法和例項方法的幾種用法 見如下 這三種形式我們應該都用過。這幾種方式在呼叫時間,還有執行緒安全,物件導向的程式設計方面都有差別。後文會談到。靜態方法是常駐記憶體 圖1 靜態方法比例項方法先裝載 何時用靜態方法,何時用例項方法 先說例項方法,當你給乙個類寫乙個方法,如果該方法需要訪問某個例項...
靜態方法和例項方法
靜態方法 靜態方法是不屬於特定物件的方法,靜態方法可以訪問靜態成員變數,靜態方法不可以直接訪問例項變數,可以在例項函式呼叫的情況下,例項變數做為引數傳給靜態方法。靜態方法也不能直接呼叫例項方法,可以間接呼叫,首先要建立乙個類的例項,然後通過這一特定物件來呼叫靜態方法。例項方法 乙個例項方法的執行與特...