为什么静态字段被称为"静态"?

sec*_*ger 4 java

在"静态变量"或"静态方法"中使用"静态"一词的原因是什么?

不是要求"静态" 的定义,只是问它为什么这么称呼.

Kaf*_*ene 10

在此之前,它是C++和C的延续.在C语境中,其含义之一是用于在调用之间保持其值的变量.我认为'静态'来自哪里 - 它不会重置值(而不是值不能改变的const)

  • 实际上,static 在 C 中是重载的。您给出的定义是当您在控制持续时间的函数中使用它时。它还在函数外部使用,以限制某些内容对当前翻译单元的可见性。在 C++ 中,它在类中还有第三种用途,即创建在所有实例之间共享的变量。请参阅http://stackoverflow.com/questions/943280/difference- Between-static-in-c-and-static-in-c/943303#943303,但+1最有可能的解释。 (3认同)

Elr*_*och 5

我想最好的想法是“静态”意味着不变,而当您在类的不同实例之间切换时,不变的是变量的位置。最主要的是要根除您的任何想法,即静态变量的是不变的:它甚至可能被同一类的另一个实例更改。