Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Métodos estáticos

O papel do atributo estático é bem claro

Mas o papel do método estático é um tanto vago, nunca consegui entende-lo. Em que tipo de situação isso pode ajudar?

Gostaria de um exemplo real de uso método estático, sem ser o método main do Java

3 respostas
solução!

Oi Anderson, tudo bem ?

Pelo que disse, parece que você entendeu o atributo estático, um bom exemplo seria isso :

class Trem {
    private static int qtdTrens = 1;
    public Trem(){
        qtdTrens ++;
    }
}

Cada vez que eu crio um trem eu adiciono ao atributo estático ok ?

Agora quero pegar a quantidade, contudo deixei ela privada para ninguém conseguir alterar de fora, para isso vou criar um método que a devolva :

class Trem {
    private static int qtdTrens = 1;
    public Trem(){
        qtdTrens ++;
    }

    public static int quantidade(){
        return qtdTrens;
    }
}

Então eu consigo o seguinte :

main(){
    System.out.println(Trem.quantidade());
}

Aí vou conseguir pegar o total de trens criados em toda minha aplicação. Ficou bem genérico isso, contudo foi mais para você entender é um comportamento que não é necessário ter uma instância do objeto Trem e sim é mais geral para todos Trens.

Espero ter ajudado.

Abraços

Ficou claro, mas imagino que o papel do método estático seja algo mais amplo do que um simples getter ou setter. Entretanto não consigo imaginar uma aplicação onde ele possa ser uma boa solução.

Por isso pedi um exemplo mais real.

Anderson,

Várias APIS, utilizam isso, por exemplo o Selenium, que é um framework de testes de integração.

É bem comum esse recurso com singletons.