He estado encontrando este problema muchas veces y nunca me molesté en aprender por qué sucede y aprender qué significa "estático" en realidad. Acabo de aplicar el cambio que Eclipse sugirió y siguió.¿Qué significa exactamente "estático" cuando se declaran variables "globales" en Java?
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
}
Así Eclipse me dice que haga static int iNumVertices;
y no estoy seguro de por qué. Entonces, ¿qué es exactamente "estático", cómo se usa, cuál es el propósito de usar "estático" y por qué me está dando este problema?
Esas no son variables globales. Ni siquiera son públicos. Incluso si fueran públicos, no serían variables globales. Incluso si fueran públicos y estáticos, no serían variables globales. Java no tiene un concepto de global. ** Todo ** se declara localmente o en una clase o interfaz. –
@Mark ... ¿Lo siento? No estaba al tanto de estos hechos. Gracias por la aclaración. Entonces, ¿cómo los clasificarías? – Hristo
@Hristo: Creo que "variables miembro" es el término correcto. – torak