Na POO, a regra geral é a classe definir atributos e métodos que serão utilizados pelos seus objetos. Contudo, existe uma situação específica em que esses atributos e métodos fazem referência apenas a classe, sem qualquer uso pelos seus objetos.
Esses atributos e métodos são definidos como membro de classe e identificados pelo qualificador static
Os membros estáticos são úteis para armazenar dados que são compartilhados por todas as instâncias da classe, como constantes, variáveis de configuração e métodos utilitários. Eles também são frequentemente usados para criar métodos de fábrica e para gerenciar contadores e identificadores em várias instâncias de uma classe.
publicclassServidorPublico{privatestaticint totalServidores =0;publicstaticintgetTotalServidores(){return totalServidores ;} // construtores, outros métodos etc.}
Como os membros estáticos pertencem à classe, todos os objetos daquela classe compartilham o mesmo valor do membro estático. Se o valor é alterado por um objeto, a alteração é refletida para todos os outros objetos da mesma classe.
Um membro estático pode acessar outros membros estáticos da mesma classe diretamente.