Sobes.tech
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.