toString()
Em sistemas reais, você frequentemente precisa exibir objetos de forma legível, seja em logs, debug ou telas de confirmação. O método toString(), presente em toda classe Java, é a maneira padrão de converter um objeto em texto. Sobrescrevê-lo permite que você controle exatamente como seus objetos aparecem, evitando saídas sem sentido como Produto@1a2b3c. Dominar isso facilita o rastreamento de dados e melhora a experiência de quem usa ou depura seu código.
O PROBLEMA
Sobrescreva toString() em Produto(nome,preco) para exibir formatado.
EXEMPLO
println(p) → "Produto: Arroz | R$8,50"
SOBRE O CONCEITO
Todo objeto em Java possui um toString() herdado de Object, que retorna uma representação padrão (nome da classe + hash). Para mudar esse comportamento, você cria um método com a assinatura exata public String toString(), anotado com @Override para garantir que está sobrescrevendo corretamente — se errar a assinatura, o compilador avisa. O método deve retornar uma String; esquecer o return é o erro mais comum, pois o compilador exigirá um valor de retorno. Use String.format() para montar a saída formatada, por exemplo: return String.format("Produto: %s | R$%.2f", nome, preco);. Com isso, ao passar o objeto para println(), o Java chama automaticamente seu toString() e exibe o texto que você definiu.
RESOLUÇÃO