Junior — Middle
Qual é a diferença entre uma variável estática na programação e quais são as suas características?
sobes.tech IA
Resposta da IA
Uma variável estática é uma variável que pertence à classe, e não a uma instância específica do objeto. Ela existe numa única instância para toda a classe e mantém o seu valor entre chamadas de métodos.
Características das variáveis estáticas:
- Compartilhada por todas as instâncias da classe: todos os objetos da classe partilham a mesma variável estática.
- Inicializa-se uma vez ao carregar a classe.
- Pode ser acedida sem criar uma instância da classe (através do nome da classe).
- Usada para armazenar estado ou dados comuns a todos os objetos.
Exemplo em Java:
public class Counter {
public static int count = 0;
public Counter() {
count++;
}
}
// Uso:
Counter c1 = new Counter();
Counter c2 = new Counter();
System.out.println(Counter.count); // Vai mostrar 2
Nos testes, variáveis estáticas podem criar dificuldades, pois o seu estado é mantido entre testes, o que pode levar a efeitos secundários indesejados. Por isso, é importante limpar ou isolar os dados estáticos nos testes.