Esatto!

"la regola è usare i metodi e gli attributi static solo quando non se ne può fare a meno."

Il punto è che in Java un metodo o una variabile "pubblica" e "statica" è accessibile pressochè ovunque nell'applicazione... indipendentemente dal punto del codice in cui ti trovi puoi sempre fare :

codice:
   NomeClasse.metodoStatico();
il vantaggio è che ovviamente se usi lo stesso metodo in più punti diversi del codice e lo devi cambiare per tutti i punti... lo cambi una volta sola....

lo svantaggio è che se devi differenziare del codice già scritto nel metodo statico a seconda dei punti in cui lo hai chiamato... NON PASSA PIU'... pertanto per ovviare a un problema del genere sarebbe meglio avere una buona gerarchia di classi con una serie di metodi ereditati prima di ricorrere agli statici... nulla di più