2013-10-03 285 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中有一些注意事项)。如果没有,那么它的实现是在什么时候对它进行初始化(仍然在它被使用之前......它只是不确定何时)。 –