为什么静态字段被称为“静态”?

15 浏览
0 Comments

为什么静态字段被称为“静态”?

“静态变量”或“静态方法”中使用“静态”一词的原因是什么?\n我不是在问“静态”的定义,只是在问为什么会这样称呼它。

0
0 Comments

静态字段被称为“静态”的原因是因为它们是稳定的,不会改变。在《Head First Java》一书中,有一个很好的解释。静态意味着在Java中共享。书中给出了一个很好的图片,展示了两个孩子共享一个冰淇淋的静态变量类比。想要了解更多信息,请阅读《Head First Java》。

0
0 Comments

为什么静态字段被称为“静态”?

静态字段被称为“静态”,最好的方式是将其视为“不变的”,它是在切换类的不同实例之间时,变量的位置是不变的。最重要的是要消除你的思想中关于静态变量的是不变的:它甚至可能被同一类的另一个实例改变。

在面向对象编程中,静态字段是属于类而不是实例的,因此它们被所有实例共享。这意味着当一个静态字段的值被改变时,它会影响到所有的实例。

为什么静态字段被称为“静态”呢?这是因为它们的值在程序执行过程中保持不变,不会因为对象实例的改变而改变。换句话说,静态字段的值在整个程序中是静态的。

然而,需要注意的是,静态字段的值可以被同一类的其他实例改变。这是因为静态字段属于类本身,而不是某个特定的实例。因此,当一个实例改变了静态字段的值,该值会被所有其他实例看到。

静态字段的值可以通过类名直接访问,而不需要创建类的实例。这使得静态字段可以在整个程序中共享数据,而不需要创建多个实例。

静态字段通常用于存储和共享全局数据或常量。它们在整个程序执行过程中保持不变,可以在不同的类和方法中使用。

以下是一个示例代码,展示了静态字段的使用:

public class Counter {

public static int count = 0;

public Counter() {

count++;

}

public static void main(String[] args) {

Counter c1 = new Counter();

Counter c2 = new Counter();

System.out.println("Count: " + Counter.count);

}

}

在上面的代码中,我们定义了一个名为“count”的静态字段,它用于计算创建的Counter实例的数量。每次创建一个新的Counter实例时,count的值都会增加。最后,我们通过类名Counter访问count的值,并将其打印出来。

总之,静态字段被称为“静态”,是因为它们的值在程序执行过程中保持不变。它们是属于类而不是实例的,可以被所有实例共享。静态字段通常用于存储和共享全局数据或常量。

0
0 Comments

为什么静态字段被称为“静态”?

静态字段被称为“静态”是因为它是从C++和C语言遗留下来的。在C语言中,"static"的意义之一是用于保持变量在调用之间保持其值不变。我推测这就是为什么使用"static"这个词 - 它不会重置值(与常量不同,常量的值无法更改)。

事实上,在C语言中,"static"有多重含义。你提到的定义是在函数内部使用时,它控制变量的持续时间。它还可以在函数外部使用,用于将某个东西的可见性限制在当前的翻译单元中。在C++中,它还有第三种用法,用于在类中创建在所有实例间共享的变量。

原始的Oak团队可能是唯一知道为什么选择了"static",以及是否考虑了其他替代方案的人......如果他们还能记得20多年前的事情的话。

参考链接:stackoverflow.com/questions/943280/...

0