【发布时间】:2011-03-25 20:28:11
【问题描述】:
我已经多次遇到这个问题,但我从来没有费心去了解它为什么会发生,也没有去了解“静态”的真正含义。我刚刚应用了 Eclipse 建议的更改并继续前进。
public class Member {
// Global Variables
int iNumVertices;
int iNumEdges;
public static void main(String[] args) {
// do stuff
iNumVertices = 0; // Cannot make a static reference to the non-static field iNumVertices
// do more stuff
} // main end
}
所以 eclipse 告诉我做static int iNumVertices; 我不知道为什么。那么究竟什么是“静态”,它是如何使用的,使用“静态”的目的是什么,为什么会给我这个问题呢?
【问题讨论】:
-
那些不是全局变量。他们甚至不公开。即使它们是公开的,它们也不会是全局变量。即使它们是公共的和静态的,它们也不会是全局变量。 Java没有全局的概念。 Everything 要么在本地声明,要么在类或接口中声明。
-
@Mark... 对不起?我不知道这些事实。感谢您的澄清。那么你会如何对它们进行分类呢?
-
@Hristo:我认为“成员变量”是正确的术语。
-
将 C/C++ 作为一个单独的问题来处理可能是个好主意。
-
@deus-ex...谢谢。我将作为一个单独的问题重新发布。
标签: java class static instance-variables static-variables