Membros de instância pertencem a cada objeto e podem diferir por objeto. Membros estáticos (de classe) pertencem à própria classe — há exatamente uma cópia, compartilhada por todas as instâncias, e você as acessa sem criar um objeto.
Uma cópia versus uma por objeto
{
;
id;
Counter() {
total++;
id = total;
}
{ total; }
}
(); ();
System.out.println(Counter.getTotal());
