Quando meu mando imprimir a variavel Jose ou qualquer nome, o resultado é assim: Bem vindo ao ByteBank br.com.alura.bytebank.Funcionario@1540e19d
acredito que ele esteja imprimindo o endereço da memoria, não sei ao certo.
Quando meu mando imprimir a variavel Jose ou qualquer nome, o resultado é assim: Bem vindo ao ByteBank br.com.alura.bytebank.Funcionario@1540e19d
acredito que ele esteja imprimindo o endereço da memoria, não sei ao certo.
Quando você manda imprimir um objeto, o Java usa o método toString
dele. Como você não sobrescreveu, ele vai usar o padrão, que é o que você viu: o nome qualificado do objeto e uns números/letras aleatórias.
O ideal é você sobrescrever o método toString
, colocando nele o que você quer que seja impresso quando ele for chamado.
Exemplo:
@Override
public String toString() {
//retornar o nome do funcionário
return this.nome;
}
Deste jeito, ao invés do que você viu, quando chamar seu Funcionario
você vai exibir o nome dele, mas você pode customizar à sua vontade.