Junior
¿Qué son las variables estáticas?
sobes.tech AI
Respuesta de la IA
Las variables estáticas pertenecen a la clase, no a una instancia concreta. Existen en una única instancia durante toda la ejecución del programa y son compartidas por todos los objetos de esa clase. Cambiar una variable estática desde un objeto será visible para otros objetos.
Características principales:
- Pertenece a: La clase.
- Número de instancias: Una por clase.
- Tiempo de vida: Desde que se carga la clase hasta que finaliza el programa.
- Acceso: Generalmente por el nombre de la clase
ClassName.staticVariable, aunque también es posible acceder a través de una instancia (no recomendado). - Inicialización: Una sola vez al cargar la clase.
Ejemplos de uso:
- Contadores de objetos creados de la clase.
- Constantes comunes a toda la clase.
- Recursos compartidos gestionados por la clase.
Ejemplo en Java:
class MyClass {
static int counter = 0; // Variable estática
public MyClass() {
counter++; // Incrementa el contador estático al crear un objeto
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Salida: 2
}
}
Ejemplo en Python:
class MyClass:
counter = 0 # Variable estática
def __init__(self):
MyClass.counter += 1 # Incrementa el contador estático
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Salida: 2
if __name__ == "__main__":
main()