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

Existe alguma diferença em qual local instanciar o objeto?

Na aula é criado um atributo do tipo AutenticacaoUtil que é instanciado no construtor, dessa forma:

private AutenticacaoUtil util;

public Cliente() {
    this.util = new AutenticacaoUtil();
}

Existe alguma diferença se eu instanciar o objeto diretamente no atributo?

Dessa forma:

private AutenticacaoUtil util = new AutenticacaoUtil();
2 respostas
solução!

Boa noite Luan,

A priori, os dois jeitos podem ser utilizados.

Lendo a documentação da Oracle acerca de inicialização de campos, eles sugerem que o segundo caso pode ser usado se sabemos como iniciar o atributo e traz como vantagem extra fazer tal procedimento em uma linha.

Contudo, eles mesmos dizem que há limitações nesta abordagem, dada a simplicidade: se a inicialização requer alguma lógica, como manipulação de erro ou um laço para inicialiar um array complexo, a simples atribuição pode ser inadequada. Logo, neste caso citado, sugerem a inicialização usando o construtor (primeiro caso).

Há outras considerações neste link e neste aqui também.

Ficou claro? Espero ter ajudado.

Abraço.

Ficou claro Rafael :D Obrigado.