Los atributos y métodos de una clase precedidos por la palabra static se denominan elementos de clase.
Los elementos de clase se comparten entre todos los objetos de la clase.
Si se modifica un atributo de clase, todas las instancias de la clase ven dicha modificación.
Ejemplo:
class Alumno { //Contador de alumnos matriculados. Inicialmente 0. static int numAlumnos = 0; //Resto de atributos omitidos por simplificación //Método constructor Alumno(String nombre, String apellidos, int año) { //Se incrementa el número de alumnos matriculados numAlumnos++; //Resto del código omitido por simplificación } static void imprimeTotalAlumnos() { System.out.println("Matrículados: " + numAlumnos); } }
Desde el programa principal se pueden crear varios alumnos y se puede llamar al método imprimeTotalAlumnos desde cualquier alumno, obteniendo el mismo resultado
Alumno alumno1 = new Alumno("Pepe", "Ramos", 1985); Alumno alumno2 = new Alumno("Pepa", "Sánchez", 1983); //Mostrar el número de alumnos creados System.out.println("Nº total alumnos = " + alumno1.imprimeTotalAlumnos()); //Se obtendría el mismo resultado con alumno2.imprimeTotalAlumnos()