Junior
O que são variáveis estáticas?
sobes.tech IA
Resposta da IA
As variáveis estáticas pertencem à classe, não a uma instância específica. Elas existem numa única instância durante toda a execução do programa e são partilhadas por todos os objetos dessa classe. Alterar uma variável estática por um objeto será visível para outros objetos.
Características principais:
- Pertencem a: À classe.
- Número de instâncias: Uma por classe.
- Tempo de vida: Desde o carregamento da classe até à finalização do programa.
- Acesso: Geralmente pelo nome da classe
ClassName.staticVariable, embora também seja possível aceder através de uma instância (não recomendado). - Inicialização: Uma única vez ao carregar a classe.
Exemplos de uso:
- Contadores de objetos criados da classe.
- Constantes comuns a toda a classe.
- Recursos partilhados geridos pela classe.
Exemplo em Java:
class MyClass {
static int counter = 0; // Variável estática
public MyClass() {
counter++; // Incrementa o contador estático ao criar um objeto
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Saída: 2
}
}
Exemplo em Python:
class MyClass:
counter = 0 # Variável estática
def __init__(self):
MyClass.counter += 1 # Incrementa o contador estático
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Saída: 2
if __name__ == "__main__":
main()