Una de los posibles usos de el modificador static es compartir el valor de una variable miembro entre objetos de una misma clase. Si declaramos una variable miembro de una clase, todos los objetos que declaremos basándonos en esa clase compartirán el valor de aquellas variables a las que se les haya aplicado el modificador static, y se podrá modificar el valor de este desde todas.
Un caso en el que nos podría ser muy útil este modificador, es en una clase que nos diga la cantidad de objetos que se han creado basándose en ella. Podemos meter una linea de código en el constructor que incremente la variable contador con el modificador static, y así cada vez que se declare un objeto el contador se incrementará. Desde cualquier objeto podremos consultar el valor del contador. El codigo sería algo así:
class Clase {
static int contador;
Clase() {
contador++;
}
int getContador() {
return contador;
}
}
class Codigo {
public static void main(String[] args) {
Clase uno = new Clase();
Clase dos = new Clase();
Clase tres = new Clase();
Clase cuatro = new Clase();
System.out.println("Hemos declarado " + uno.getContador() + " objetos.");
}
}
Esto tiene varias ventajas, porque además de ahorrarnos algunas posiciones de memoria (porque todos objetos comparten la misma) podemos crear variables compartidas, cosa que abre la puerta a suculentas posibilidades.
Post Relacionados:
Test!