Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

Dúvida no conceito

Acho que o conceito não ficou claro para mim. Na Classe:

TotalizadorDeBonus{
    private double total;

    //continua o código ....
}

a variável:

private double total;

total não deveria ser estática?

10 respostas

Oi Lívia, Tudo bem? Isso Depende, de que conceito estamos falando?

Desculpa a falta de clareza.

O conceito sobre variáveis estáticas.

Foi o exemplo utilizado na aula.

class TotalizadorDeBonus {
        private double total = 0;

        public void registra(Funcionario funcionario) {
            this.total += funcionario.getBonificacao();
        }

        public double getTotalDeBonificacoes() {
            return this.total;
        }
    }

Me passa o link da aula pra mim ver mais de perto?

Oi Lívia, desculpa, mas nesta aula não é falado sobre variáveis estáticas. Você não está confundindo algo?

Não. O conceito de variáveis estáticas não foi dado nessa aula. O conceito foi dado curso Java I, este é o Java II. A minha dúvida era apenas se nesse caso, nesse exemplo, nessa parte, se esta variável deveria ser estática devido a função que ela exerce.

É que é um pouco difícil para mim entender a finalidade do "estático".

solução!

Hmm, entendi, bom, ela poderia sim, mas não precisa ser.

A questão do estático parece ser complicadinha mesmo no começo. A ideia é que você não precise criar um objeto da classe para acessar o valor. Neste caso acredito que ela poderia sim, mas isso poderia gerar um problema, por ser estático, ela poderia acumular o valor para sempre, tipo, se executarmos para duas listas de funcionários diferentes, o valor final seria um só ao invés de um valor diferente para cada lista.

Um exemplo simples de estático é imaginar as constantes por exemplo. Não faz sentido criar um objeto para obter um valor de uma constante, que nunca muda. Um exemplo? O número PI que se encontra na classe Math.PI.

Outro exemplo são os métodos de arredondamento da classe Math, ceil, floor, que são estáticos.

Pegou a ideia?

Ah Wanderson, acho que abriu mais a minha mente aqui. Muito obrigada!

Lembra de marcar sempre o post que resolveu sua dúvida como solução do tópico, tá bem?