【问题标题】:What is significance of static keyword in Java and in C++?Java和C++中static关键字的意义是什么?
【发布时间】:2009-10-24 04:45:42
【问题描述】:
Static 关键字在 Java 和 C++ 中的重要性以及它在两种编程语言中的功能有何不同?
【问题讨论】:
-
-
-
反过来,您应该更信任java.sun.com(针对 Java 问题)而不是 Stack Overflow。当文档中的某些内容难以理解时,请带着您的问题来 Stack Overflow。否则,看起来你完全没有付出任何努力。
标签:
static
oop
language-features
keyword
【解决方案2】:
静态有两种含义。第一个如果你有一个静态变量,这意味着这个变量只有一个实例。在所有带有关键字的编程语言中,它的工作原理几乎相同。
静态函数是可以调用的函数,即使它所在的类没有被实例化。静态函数在 C# 和 Java 中是必需的,因为您不能在这些没有包含类的语言中声明函数。
在 C++ 中,您可以在全局命名空间中声明函数。在这种语言中,静态函数用于表示一个函数属于该类,但您不必实例化该类即可使用该函数。您可以使用静态函数来访问类的私有变量。另请注意,在 C++ 中,静态函数具有已知的内存地址,因此您可以使用函数指针指向它们而无需实例化类。
【解决方案4】:
对只能有一个实例的字段和方法使用静态。这意味着它们与类的实例无关,而是与类本身相关。例如主线程(public static void main)。
【解决方案5】:
这两种语言的工作方式相同。我假设您知道什么是面向对象编程,以及类和对象/实例之间的区别。因此,如果您将方法或变量标记为“静态”,则它在类级别而不是实例级别上运行。所有对象/实例共享相同的“静态”变量值。