2013-10-03 67 views
1

靜態類中的靜態變量與非靜態類中的靜態變量之間的區別是什麼?靜態類中的靜態變量和非靜態類中的靜態變量

例如:

public static class GT 
{ 
    public static readonly string x; 
} 


public class GT 
{ 
    public static readonly string x; 
} 
+1

非靜態類也可以包含實例變量。 –

+1

@SimonWhitehead和在我只需要包含靜態變量的情況下,沒有區別? – user1590636

回答

3

還有,當你在談論的類中的實際變量沒有什麼區別。靜態類中的靜態變量與非靜態類中的靜態變量相同。

另一方面..如果你在談論類本身,那麼靜態類不能包含實例變量或方法..它沒有意義..因爲你不能實例化一個靜態類的實例你自己。

+0

是否存在一個靜態類,它的變量一旦運行應用程序就存在於內存中,或者在第一次調用它的方法或變量後初始化它? – user1590636

+1

這完全取決於實施。如果一個靜態類有一個靜態構造函數,那麼它將在第一次使用之前被初始化(在.NET 4中有一些注意事項)。如果沒有,那麼它的實現是在什麼時候對它進行初始化(仍然在它被使用之前......它只是不確定何時)。 –