0

我正在学习静态类和静态方法。然后我遇到了以下行:

无论类的实例是否存在,都只存在一个静态成员副本。

它实际上是什么意思?

它在 msdn 文档http://msdn.microsoft.com/en-us/library/79b3xss3.aspx中如下:

非静态类可以包含静态方法、字段、属性或事件。即使没有创建类的实例,静态成员也可以在类上调用。静态成员总是由类名访问,而不是实例名。无论创建了多少个类实例,都只存在一个静态成员的副本。静态方法和属性不能访问其包含类型中的非静态字段和事件,并且它们不能访问任何对象的实例变量,除非它在方法参数中显式传递。

4

1 回答 1

1

我认为该声明措辞不佳。它的意思是静态方法与类相关联,而不是与对象实例相关联。任何给定类一次只有一个副本 - 因此与任何静态方法关联的数据有一个副本 - 而一个类中可以存在多个对象实例,非静态方法可以在其上运行。

于 2014-06-25T06:26:50.840 回答