Boa noite
Meu código, quando o construtor é usado, retorna null, mas esse bug desaparece quando volto o setNome (fiz isso com um filme aleatório)
E este filme, sem o setter, da null (assim como os outros)
Aqui está o construtor usado:
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!
Boa noite
Meu código, quando o construtor é usado, retorna null, mas esse bug desaparece quando volto o setNome (fiz isso com um filme aleatório)
E este filme, sem o setter, da null (assim como os outros)
Aqui está o construtor usado:
Olá Matheus!
O problema no seu construtor está nesta linha:
this.setNome(getNome());
Esse código está chamando o getNome() antes de o nome ser atribuído, ou seja, está usando o valor default, que é null. Por isso, o nome do filme acaba ficando null, como mostrado no log:
Filme: null (1982)
Para corrigir você deve usar o parâmetro nome diretamente, assim:
public Movie(String nome) {
this.setNome(nome);
}
Só para complementar..
getNome() está acessando o valor do campo da classe, que ainda não foi inicializado;
nome, o parâmetro do construtor, contém o valor "Rambo - Programado para Matar";
Você deve usar esse parâmetro para inicializar corretamente o campo interno da classe via setter.
Olá meu nobre o problema do seu codigo se trata de O problema no seu construtor está nesta linha:
this.setNome(getNome());`
Essa linha está pegando o nome antes de ele ser definido, ou seja, getNome() retorna null, e você está passando esse null para o setNome() — o que explica por que seu objeto fica com o nome null
✅ Solução Você precisa passar o parâmetro nome diretamente para o setter, assim:
public Movie(String nome) {
this.setNome(nome); // Correto: usa o parâmetro recebido no construtor
}
Não consigo colocar nome, mas eu coloquei
`public Movie(String s, int anoDeLancamento) {
super(s, anoDeLancamento);
}
e funcionou corretamente
Uma dica, Matheus: para facilitar e deixar o código mais enxuto, recomendo que aprenda a usar a dependência Lombok. Vai por mim, isso facilita muito a escrita do código e o torna mais enxuto e legível para outras pessoas.
Como fica uma Class com o uso do lombok:
Se quiser me chamar no Discord, a gente pode estudar juntos e conversar enquanto fazemos as atividades/desafios. Também sou iniciante em programação.
Meu Discord é: maevlys