3.1 Miembros Static

Un miembro de datos estáticos de una clase puede ser definido como estático (static). Las propiedades de una variable miembro static son similares a las de una variable estática en C.

Una variable miembro estática tiene ciertas características especiales. Estas son:

  • Se inicializa a cero al crear el primer objeto de la clase. No se permite otra inicialización.
  • Solo se crea una copia de dicho miembro para toda la clase, y es compartida por todos los objetos de dicha clase, sin importar el número de objetos creados.
  • Sólo es visible dentro de la clase, pero su vida abarca toda la ejecución del programa.

Habitualmente, las variables estáticas se utilizan para mantener valores comunes a toda clase. Por ejemplo, un miembro de datos estático puede servir de contador para registrar las ocurrencias de todos los objetos.

El tipo y ámbito de cada variable miembro static tiene que definirse fuera de la definición de la clase. Esto es necesario porque los miembros de datos estáticos se almacenan de forma separada, y no como parte de un objeto. Como se asocian con la propia clase en lugar de con cualquier objeto de la clase, también se les denominan variables de clase.


Las  variables estáticas son como funciones miembro no declaradas en línea, en el sentido de que se declaran en una declaración de clase y se definen en el archivo fuente.