1
resposta

Duvida sobre static

Estudei static em cursos anteriores mas assistindo esse aulas java.lang me retornou a duvida de quando é necessário usar static seja em atributo ou método. Alguém sabe me dizer ?

1 resposta

Olá Henrique, tudo bem com você?

a palavra-chave static dentro do contexto de uma classe, significa que o atributo ou método pertence à classe, e não ao objeto criado a partir da classe. Como assim?

class Bolo{

    private static quantidadeDeBolos = 0;
    private String sabor;
    private boolean recheio;
    public Bolo(){
        quantidadeDeBolos++;
    }
    public static getQuantidade(){
        return quantidadeDeBolos;
    }
}

No código acima, a classe bolo tem o atributo static quantidadeDeBolos que pertence à classe Bolo. Na prática, isso significa que cada Bolo criado a partir desse molde não vai ter esse atributo, apenas o atributo sabor e se ele tem recheio.

Nesse caso, o atributo static funciona como um contador de quantos bolos foram criados a partir da classe Bolo, e para acessar essa quantidade podemos utilizar o método static a partir da própria classe!

Bolo.getQuantidade()

Que vai retornar quantos objetos bolo já foram criados com essa classe.

A palavra static causa um pouco de confusão no ínicio, por isso vou deixar alguns materiais complementares para ficar mais claro o funcionamento:

static keyword in java(GeeksForGeeks) - guia da palavra-chave static do GeeksForGeeks, que está em inglês, mas caso seja necessário você pode utilizar a ferramenta de tradução do seu navegador!

static keyword in java(JavaAtPoint) - guia do JavaAtPoint, que também está em inglês mas caso necessário você pode utilizar a ferramenta de tradução do navegador.

Ambos os guias detalham com mais exemplos a diferença de um membro da instância versus um membro da classe (static), para melhor compreensão do tema!

Me coloco à disposição e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!