Repaso
English
Java CoreBaseJV-06

¿Qué significa la palabra clave static en un método o campo?

Opciones

  1. No se puede cambiar después de su primera asignación
  2. Pertenece a la clase, así que no hace falta una instancia (Opción correcta)
  3. Solo es visible dentro del mismo archivo fuente
  4. Se ejecuta automáticamente cuando arranca el programa

Respuesta

Pertenece a la clase, no a un objeto concreto, y puedes usarlo sin crear una instancia

Por qué

Los campos y métodos normales (de instancia) pertenecen a cada objeto: cada new Person() tiene su propio name.

Un miembro static pertenece a la clase: solo hay una copia, compartida por todos los objetos, y lo llamas como ClassName.method() sin new. Math.max(1, 2) y main son static.

Cuidado: los campos static mutables son estado compartido, una fuente clásica de bugs en programas multi-thread.

Recuerda

static = una copia por clase, no por objeto.

Términos clave

Practica esta pregunta en Repaso