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:
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