【发布时间】:2014-12-26 01:54:56
【问题描述】:
我已尝试搜索此内容,但无法找到问题的明确答案。
什么时候可以真正改变静态变量?
据我了解,您只能在静态构造函数中更改它。但我不确定,对此的任何帮助将不胜感激。
【问题讨论】:
-
只要不是只读的,你可以随时修改
我已尝试搜索此内容,但无法找到问题的明确答案。
什么时候可以真正改变静态变量?
据我了解,您只能在静态构造函数中更改它。但我不确定,对此的任何帮助将不胜感激。
【问题讨论】:
【讨论】:
如果静态成员变量不是只读的,则变量将在将值分配给变量时更改。并且它将在应用程序的生命周期内保持不变,保持不变。
您也不需要任何实例为变量赋值
【讨论】:
静态可以在任何地方更改,它本质上是一个不需要实例化的全局变量。
您应该非常小心地使用它们,因为它们会给您带来很多麻烦,并且只能用于特定原因。
【讨论】:
静态变量可以编辑关于访问权限的任何地方。它只像非静态变量。但有共同的记忆(类级记忆)
如果你是初学者,我会举个例子
class Person
{
static int NumberOfPersons;
string name;
int age;
}
在上面的示例中,每个人都需要单独的记忆。
但 NumberOfPersons 的情况不同。当新人来时,您只需将 NumberOfPersons 加 1。如果你没有为此保留一个通用的类级别变量,你会很头疼,比如你需要去每个对象增加一个,内存浪费等等。
但如果是姓名和年龄,则需要单独的记忆。一个人的名字不应该被另一个对象覆盖。所以这是非静态的
理论上 - 静态将在类加载时具有公共内存和负载。对象创建时非静态会分配内存
希望明确
感谢和问候 Binesh Nambiar C
【讨论】: