Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么静态字段被称为;静态;?_Java - Fatal编程技术网

Java 为什么静态字段被称为;静态;?

Java 为什么静态字段被称为;静态;?,java,Java,在“静态变量”或“静态方法”中使用“静态”一词的原因是什么 < >强>> >静态定义> >,只问为什么调用它。< p>这是C++和C之前的一个保留。在C上下文中,它的一个含义是用于在调用之间保持其值的变量。我认为这就是“static”的来源——它不会重置值(与值不能更改的const相反) 静态1的定义:使用 仅因重量而产生的力 无运动2:属于或关于运动的 静止的物体或受力的物体 平衡3:几乎没有变化 4 a: 以缺乏运动为特点, 动画,或进程b: 产生休息或休息的效果 静止5a: 站在或固定在

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


< >强>><强> >静态定义> <强> >,只问为什么调用它。

< p>这是C++和C之前的一个保留。在C上下文中,它的一个含义是用于在调用之间保持其值的变量。我认为这就是“static”的来源——它不会重置值(与值不能更改的const相反)

静态1的定义:使用 仅因重量而产生的力 无运动2:属于或关于运动的 静止的物体或受力的物体 平衡3:几乎没有变化 4 a: 以缺乏运动为特点, 动画,或进程b: 产生休息或休息的效果 静止5a: 站在或固定在一个地方: 水的固定b:储存在 油箱,但不在压力下


只需将定义应用于变量…

在Head-First Java中,有一个很好的静态解释。静态意味着稳定不变,这从意义上看是显而易见的,但很明显,它不会改变


在Java中,静态意味着共享。有一张很好的照片,两个孩子分享一个冰淇淋,并显示了静态变量类比。有关更多信息,请阅读Head First Java。

我认为最好的理解方法是“静态”意味着不变,而在类的不同实例之间切换时不变的是变量的位置。最重要的是从你的头脑中消除任何关于静态变量的值是不变的想法:它甚至可能被同一类的另一个实例所改变。

如果你知道静态的定义,你就会理解为什么它们被称为静态变量和静态方法……因为它们不会改变。。。他们是static@Scott,你是认真地建议
static int x=2
永远不能将值更改为3?不,但是当您查找它时,
静态int x
将始终位于同一位置。实际上,在它的生命周期中,非静态int x也将处于同一位置。下次实例化时(即重新运行程序时),您的
静态int x
可能位于完全不同的位置。静态实际上只是某些东西是特定于类还是特定于对象。即使是在C语言下,这个概念来自于C语言,静态也与位置无关。它的一个含义是静态值(而不是位置),即在函数调用之间维护值,但所有其他的都不是不变的值或位置。我不知道你是否想搞笑。这些定义中没有一个与静态匹配Java@Software如果你是说在一个地方,那就是垃圾。所有变量在其生命周期内都是固定的,即使是C中的非静态文件级和自动变量,以及Java中的对象变量。Java中的所有静态意味着某些东西属于类而不是对象。在这个答案中,我看不到任何与之接近的东西。定义似乎倾向于常量而不是静态变量。显然,变量是储存在水箱中的水,但不是压力下的水。但说真的,我确实认为这个问题有点傻。根据附加信息:这篇文章是针对非托管语言的,真的。Java为您抽象了其中的大部分内容。+1-这是我们可能得到的最接近的结果。选择
static
的最初原因,以及考虑的其他替代方案可能只有原始Oak团队知道。。。如果他们还记得20多年前的事。实际上,静态在C中是重载的。你给出的定义是当你在一个控制持续时间的函数中使用它时。它还用于函数之外,以限制某些内容对当前翻译单元的可见性。在C++中,它在类中有第三个用途,用于创建所有实例之间共享的变量。有关最可能的解释,请参见but+1。