Eu ouvi essa semana que métodos estáticos difícilmente devem ser utilizados, por fazerem meio q referencia a programação estruturada.
E atualmente eu utilizo pelo menos um método estático por classe. Normalmente para realizar consulta de uma coleção de objetos, tipo
Acredito que no seu caso não seria uma boa prática. Métodos estáticos são geralmente utilizados como funções utilitarias. Para a persistência, você poderia utilizar o padrão DAO. De uma pesquisada sobre.
Recomendo evitar utilizar métodos estáticos até que tenha mais intimidade com a linguagem.
Sendo estático este método não pode ser sobreescrito.
Sendo estático não pode depender do estado interno da classe e, se vc utilizar atributos estáticos para armazenas coisas como a conexão com o banco de dados, estás usando algo como um Singleton de uma forma que pode ser dificil de testar. Nada impede que o seu repositorio seja um objeto com métodos não estáticos e o repositorio em si pode ser acessado por um método estático de outra classe que concentre os seus servicos.
Ex:
Onde MinhaAPI contenha uma referência ao repositorio de clientes de forma estática. Perceba que é importante vc testar o repositorio, estude p JUnit e JMock para isso
como o pessoal falou antes, o static eh mais utilizado p/ classes utilitarias. vc tmb pode usar static para facilitar a criacao de uma Fluent Interface. Vai ser mais facil escrever/ler o codigo que vai usar a sua Fluent Interface, pois vc nao irá precisar ficar declarando uma classe antes de usar seus metodos…