2009-10-24 131 views
-2

Static关键字在Java和C++中的重要性以及它在两种编程语言中的功能有何不同?Java和C++中static关键字的含义是什么?

+0

这是http://stackoverflow.com/questions/413898/what-does-the-static-keyword-do-in-java – mjv 2009-10-24 04:49:14

+5

部分重复因为即使努力搜索少量的会翻了在几秒钟内回答。 – 2009-10-24 04:56:22

+4

反过来,您应该相信http://java.sun.com(对于Java问题)超过Stack Overflow。当文档中的某些内容难以理解时,请使用您的问题进行Stack Overflow。否则,看起来你完全没有付出任何努力。 – 2009-10-24 05:04:19

回答

0

它在两种语言中的工作方式都相同。我假设你知道什么是面向对象编程,类和对象/实例之间有什么区别。所以,如果你将一个方法或变量标记为“静态”,它将在类级而不是实例级上运行。所有对象/实例共享“静态”变量的相同值。

2

静态有2种含义。第一个如果你有一个静态变量,这意味着这个变量只有一个实例。在所有使用关键字的编程语言中,它的工作原理都差不多。

静态函数是一个可以调用的函数,即使它所在的类没有实例化。静态函数在C#和Java中是必需的,因为你不能用这些没有包含类的语言声明函数。在C++中,你可以在全局命名空间中声明函数。在这种语言中,静态函数用于表示一个函数属于这个类,但是您不必实例化该类来使用该函数。你可以使用静态函数来访问类的私有变量。还要注意,在C++中,静态函数有一个已知的内存地址,所以你可以使用函数指针指向它们而不需要实例化类。

1

对于Java,是一个很好的开始。

对于C++,Microsoft有一个reference on the static keyword

有许多现成的编程语言资源,可以帮助您了解static关键字的含义。以上是我通过快速Google搜索找到的其中两个。

1

对于只能有一个实例的字段和方法使用static。这意味着它们与班级的实例无关,而与班级本身无关。例如主线程(public static void main)。

相关问题