¡Hola Angel, espero que estés bien!
Efectivamente, cuando declaras un atributo con la palabra clave static
en una clase de Java, ese atributo se comparte entre todas las instancias u objetos de esa clase. Esto significa que todas las instancias de la clase tendrán acceso al mismo valor de ese atributo.
Un ejemplo práctico sería si tienes una clase llamada Circulo
y quieres contar cuántos círculos se han creado en total. Podrías declarar un atributo estático llamado contador
y cada vez que se cree un nuevo objeto Circulo
, incrementarías ese contador. De esta manera, todas las instancias de Circulo
tendrían acceso al mismo valor de contador
y podrían ver cuántos círculos se han creado en total.
Aquí tienes un ejemplo de cómo se vería esto en código:
public class Circulo {
private static int contador = 0;
public Circulo() {
contador++;
}
public static int getContador() {
return contador;
}
}
// En otro lugar del código...
Circulo c1 = new Circulo();
Circulo c2 = new Circulo();
Circulo c3 = new Circulo();
System.out.println(Circulo.getContador()); // Imprimirá 3, ya que se han creado 3 círculos en total
Si tienes alguna pregunta, no dudes en hacerla.
¡Buenos estudios!