static significa "pertence à própria classe, não às instâncias." final significa "não pode ser alterado/estendido." São palavras-chave independentes frequentemente confundidas, mas tratam de preocupações diferentes — e combinam-se para criar constantes.
static — nível de classe, compartilhado entre todas as instâncias
{
;
id;
Counter() {
count++;
id = count;
}
{
count = ;
}
}
Counter.count;
Counter.reset();
();
